home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / bavarian / 121-130 / 127_denkspiele / init.bas < prev    next >
BASIC Source File  |  1993-11-04  |  56KB  |  969 lines

  1. 1     GOTO 7900:REM  **** COMPUTER MONOPOLY ****uebersetzt von R.Votrel1987
  2. 20    GOTO 10000:REM **** throw dice ****
  3. 30    RETURN:REM **** key press sound ****
  4. 40    REM **** graphic to build house ****
  5. 41    gshape(133,123), housepic%()
  6. 42    kk%=val(mid$(b$,8,1))-1:note1%=1900:note2%=1000:gosub 40000
  7. 44    gosub 41000:return
  8. 50    FOR u%=1 TO 4:IF d%(u%) < 2 THEN GOTO 58:REM **** SORT DEEDS ****
  9. 51    FOR v%=1 TO d%(u%)-1:FOR w%=1 TO d%(u%)-1:c$=STR$(p#(u%,w%)):b$=STR$(p#(u%,w%+1))
  10. 52    IF MID$(c$,2,2) = "23" OR MID$(c$,2,1) = "4" THEN y%=2-VAL(MID$(c$,2,1)):GOTO 54
  11. 53    y%=VAL(MID$(c$,4,2))
  12. 54    IF MID$(b$,2,2) = "23" OR MID$(b$,2,1) = "4" THEN x%=2-VAL(MID$(b$,2,1)):GOTO 56
  13. 55    x%=VAL(MID$(b$,4,2))
  14. 56    IF y% > x% THEN z#=p#(u%,w%):p#(u%,w%)=p#(u%,w%+1):p#(u%,w%+1)=z#
  15. 57    NEXT w%,v%
  16. 58    NEXT u%:RETURN
  17. 60    REM **** GRAPHIC TO BUILD HOTEL ****
  18. 62    gshape(108,111), hotelpic%()
  19. 64    kk%=5:note1%=5900:note2%=1500:gosub 40000
  20. 66    gosub 41000:return
  21. 70    gosub 36300:return:rem ****  GRAPHIC FOR POLICE  ****
  22. 80    RETURN:REM **** SOUND ****
  23. 90    yy%=126:xx%=215:j%=0:REM **** GRAPHIC FOR TRAIN ****
  24. 91    pena 1:draw (61,146 TO 240,146)
  25. 92    FOR i%=215 TO 61 STEP -1
  26. 93    j%=j%+1:IF j% > 4 THEN j% = 1
  27. 94    ON j% GOTO 95,96,97,98
  28. 95    gshape (i%,yy%),train1%():GOTO 99
  29. 96    gshape (i%,yy%),train2%():GOTO 99
  30. 97    gshape (i%,yy%),train3%():GOTO 99
  31. 98    gshape (i%,yy%),train4%()
  32. 99    SLEEP(50000):NEXT i%:RETURN
  33. 100   RETURN:REM **** SOUND ****
  34. 200   x%=VAL(MID$(b$,4,2)):REM **** FETCH PROPERTY NAME ****
  35. 210   a$=propname$(x%):pena propcolor%(x%):PRINT  a$;:pena maincolor%
  36. 220   RETURN
  37. 299   b$ = propdeed$(z%):RETURN:REM **** FETCH PROPERTY DEED ****
  38. 400   GOSUB 20000:GOSUB 460:REM **** MENU ****
  39. 401   ask MOUSE xx%,yy%,bb%:x% = pixel(xx%,yy%):IF bb%=0 THEN GOTO 401
  40. 402   IF x% = 27 THEN t%=4:GOSUB 20000:GOTO 1219
  41. 403   IF x% = 28 THEN GOTO 5000
  42. 404   IF x% = 29 THEN GOTO 401
  43. 405   if x% = 30 then gosub 3000:gosub 41000:goto 400
  44. 406   if x% = 25 then 410
  45. 409   goto 401
  46. 410   gosub 20000:?:?:? tab (10);"Sind Sie sicher,dass":? tab(9);"Sie aufhoeren moechten?":gosub 1700
  47. 415   if x$="Y" then scnclr:chdir "/":PRINT  TAB(8);"Es kommt noch etwas !!":System
  48. 420   goto 400
  49. 460   pena maincolor%:PRINT "          MENU"
  50. 462   peno 1:pena 25:CIRCLE ((14*8)-3,(9*8)-3),3:PAINT ((14*8)-3,(9*8)-3),0
  51. 464   pena 25:PRINT at(16*8,9*8);"= Ende ?!"
  52. 466   pena 28:CIRCLE ((14*8)-3,(11*8)-3),3:PAINT ((14*8)-3,(11*8)-3),0
  53. 468   pena 22:PRINT at(16*8,11*8);"= Anfrage"
  54. 473   pena 30:circle ((14*8)-3,(13*8)-3),3:paint ((14*8)-3,(13*8)-3),0:pena 23:print at(16*8,13*8);"= Information"
  55. 475   pena 27:circle ((14*8)-3,(15*8)-3),3:paint ((14*8)-3,(15*8)-3),0:pena 26:? at(16*8,15*8);"= Spiele !"
  56. 490   pena maincolor%:return
  57. 600   IF d%(t%)=0 THEN GOTO 1020:REM **** COMPUTER TRADE ****
  58. 610   u%=1
  59. 611   if u%=t% then 620
  60. 612   IF d%(u%)=0 THEN 620
  61. 613   v%=1
  62. 614   y%=0:b$=STR$(p#(u%,v%)):FOR w%=1 TO d%(t%):c$=STR$(p#(t%,w%)):IF MID$(b$,2,2)=MID$(c$,2,2) THEN y%=y%+1
  63. 616   NEXT w%:IF VAL(MID$(b$,2,1))=y%+1 AND b$<>"23" THEN 630
  64. 618   v%=v%+1:IF v%<=d%(u%) THEN 614
  65. 620   u%=u%+1:IF u%<4 THEN 611
  66. 621   GOTO 1003
  67. 630   x%=1
  68. 631   y%=0:c$=STR$(p#(t%,x%)):FOR z%=1 TO d%(u%):d$=STR$(p#(u%,z%)):IF MID$(c$,2,2)=MID$(d$,2,2) THEN y%=y%+1
  69. 632   NEXT z%:IF VAL(MID$(c$,2,1))=y%+1 THEN 640
  70. 634   x%=x%+1:IF x%<=d%(t%) THEN 631
  71. 635   GOTO 618
  72. 640   IF MID$(c$,2,2)=MID$(b$,2,2) THEN 634
  73. 650   d$=c$:y%=t%:t%=u%:GOSUB 6000:x%=z%:t%=y%:d$=b$:GOSUB 6000:y%=z%:z%=INT(y%-x%)/2:z%=100*INT(z%/100)
  74. 652   IF c%(t%)-z% < 0 OR c%(u%)+z% < 0 THEN GOTO 1003
  75. 660   w%=0:GOSUB 20000:pena 26:PRINT at (16*8,6*8);"ACHTUNG!"
  76. 661   w%=w%+1:SLEEP(200500):pena 1:PRINT at(16*8,6*8);"ACHTUNG!":SLEEP(200500):pena 26:PRINT at(16*8,6*8);"ACHTUNG!"
  77. 662   IF w% < 6 THEN 661
  78. 663   pena maincolor%:PRINT TAB(8);:GOSUB 4080:PRINT  " tauscht Feld ":d$=b$:b$=c$:PRINT TAB(8);:GOSUB 200
  79. 665   c%(t%)=c%(t%)-z%:c%(u%)=c%(u%)+z%
  80. 670   IF z% > 0 THEN PRINT tab(8); "und M";z%
  81. 680   PRINT tab(8); "fuer Feld ":b$=d$:? tab(8);:GOSUB 200
  82. 682   PRINT TAB(8);:IF z% < 0 THEN PRINT  "und M";ABS(z%);
  83. 684   PRINT  "von  ";:y%=t%:t%=u%:GOSUB 4080:PRINT  "!"
  84. 690   PRINT TAB(8);:GOSUB 4080:PRINT  " hat M";c%(u%);"Bargeld":t%=y%:PRINT TAB(8);:GOSUB 4080:PRINT  " hat M";c%(t%);"Bargeld"
  85. 692   GOSUB 41000:GOSUB 20000:GOTO 5350
  86. 700   RETURN
  87. 1000  GOSUB 2400:IF t%=4 THEN GOTO 1003:REM **** MAIN LOOP ****
  88. 1001  GOTO 600
  89. 1003  IF d%(t%)=0 THEN GOTO 1020
  90. 1006  IF t% > 3 THEN GOTO 1009
  91. 1007  FOR s%=1 TO d%(t%):c$=STR$(p#(t%,s%)):IF mid$(c$,8,1)="0" or len(c$)>8 THEN GOSUB 1500
  92. 1008  NEXT s%
  93. 1009  IF t%=4 THEN GOSUB 1500
  94. 1020  GOSUB 1400:IF l%(t%) = 40 THEN 2900
  95. 1040  q%=0:GOSUB 20:PRINT at(48,80);" ";:GOSUB 4088:PRINT  " wuerfelt";
  96. 1045  IF d1%+d2%=8 OR d1%+d2%=11 THEN PRINT  "  ";d1%+d2%:GOTO 1050
  97. 1046  PRINT  " ";d1%+d2%
  98. 1050  IF d1%<>d2% THEN GOTO 1100
  99. 1060  d3%=d3%+1:d%=d%+1
  100. 1061  if d%=3 then newxx%=40:gosub 31000:l%(t%)=40:?:? tab(8);"Drei mal Pasch..";:?:? tab(8);"Gehe ins Gefaengniss!!":gosub 70:goto 1210
  101. 1100  GOSUB 30000:gosub 2780:gosub 20000:l%(t%)=l%(t%)+d1%+d2%:IF l%(t%) > 39 THEN l%(t%)=l%(t%)-40:GOSUB 4070
  102. 1110  z%=l%(t%):GOSUB 299:GOSUB 4080:PRINT  " geht zu Feld ":? tab(8);:GOSUB 200:PRINT  ".":GOSUB 80:GOSUB 700
  103. 1111  if mid$(b$,2,3)="502" then 47000
  104. 1112  IF MID$(b$,2,2)="60" THEN 3100
  105. 1113  IF MID$(b$,2,2)="70" THEN 4220
  106. 1114  IF MID$(b$,2,2)="80" THEN newxx%=40:gosub 31000:l%(t%)=40:gosub 70:goto 1210
  107. 1116  IF VAL(MID$(b$,2,1))>4 THEN GOSUB 2400:GOTO 1200
  108. 1120  FOR v%=1 TO 4:IF d%(v%)=0 THEN GOTO 1124
  109. 1121  FOR x%=1 TO d%(v%):c$=STR$(p#(v%,x%)):IF MID$(c$,1,3)=MID$(b$,1,3) THEN GOTO 1140
  110. 1122  NEXT x%
  111. 1124  NEXT v%
  112. 1125  IF t%<4 THEN GOTO 1300
  113. 1127  IF VAL(MID$(b$,2,1))<5 AND c%(4)< 20*fininfo%(8*VAL(MID$(b$,6,2))) THEN 1170
  114. 1130  ?:? tab(8);"Sie haben M";c%(t%):?
  115. 1131  PRINT TAB(8);"Kaufen Sie Feld":? tab(8);:gosub 200
  116. 1133  ? tab(8);"fuer M";20*fininfo%(8*val(mid$(b$,6,2)));:pena 2:? "?":pena maincolor%:gosub 1700:if x$="N" then goto 1200
  117. 1136  GOSUB 2800:GOTO 1200
  118. 1140  IF v%<>t% THEN 1148
  119. 1141  IF t%=4 THEN ?:?:PRINT  TAB(8);"Hal= Eigentum!":GOTO 1200
  120. 1142  ?:?:PRINT  TAB(8);:GOSUB 4080:pena 2:PRINT  "= Eigentum":GOTO 1200
  121. 1148  IF MID$(c$,8,1)<>"0" THEN GOTO 1150
  122. 1149  PRINT  TAB(8);"KEINE MIETE!":y%=t%:t%=v%:PRINT  TAB(8);:GOSUB 4080:t%=y%:PRINT tab(8); "hat HYPOTHEK aufgenommen":GOTO 1200
  123. 1150  PRINT  TAB(14);"! Miete !";:SLEEP(10500)
  124. 1152  pena 25:PRINT tab(14); "! Miete !";:pena maincolor%:SLEEP(10500):IF q%=82 THEN ?:PRINT tab(14); "(DOPPELT)"
  125. 1154  PRINT  TAB(8);:GOTO 2600
  126. 1170  IF d%(4)=0 THEN GOTO 1198
  127. 1172  z%=c%(4):FOR w%=1 TO d%(4):c$=STR$(p#(4,w%)):IF MID$(c$,8,1)="1" OR MID$(c$,8,1)="2" THEN z%=z%+10*fininfo%(8*VAL(MID$(c$,6,2)))
  128. 1174  NEXT w%:IF z%<20*fininfo%(8*VAL(MID$(b$,6,2))) THEN GOTO 1198
  129. 1176  PRINT  TAB(8);"Sie muessen ":PRINT  TAB(8);"Bargeld    M";z%-c%(4);"bringen":PRINT  TAB(8);"oder Sie nehmen ":PRINT  TAB(8);"eine Hypothek auf !"
  130. 1178  PRINT  TAB(8);"Wollen Sie eine":PRINT  TAB(8);"HYPOTHEK ?":GOSUB 1700
  131. 1179  IF x$="N" THEN PRINT  TAB(8);"Kein Spieler aah? OK...":GOTO 1200
  132. 1186  u%=1
  133. 1187  GOSUB 2700:IF c%(4)>=20*fininfo%(8*VAL(MID$(b$,6,2))) THEN GOTO 1130
  134. 1188  u%=u%+1:IF u%<=d%(4) THEN 1187
  135. 1198  PRINT  TAB(8);"Sie haben zum Kauf des":PRINT  TAB(8);"Feldes, das Geld nicht!":GOSUB 2780
  136. 1200  IF d3%=1 THEN gosub 41000:GOSUB 20000:GOSUB 4080:PRINT  "  : hatte Pasch !! ":d3%=0:gosub 2780:GOTO 1000
  137. 1210  d3%=0:d%=0:t%=t%+1:IF t%=5 THEN t%=1
  138. 1212  GOSUB 41000:IF j%(t%)=1000 THEN GOTO 1210
  139. 1218  IF t%=4 THEN GOTO 400
  140. 1219  goto 1223:if t%=4 then z%=l%(t%):gosub 299:gosub 20000:if z%=40 then ? "Sie sind im Feld" else ? "Sie sind in Feld"
  141. 1220  if t%=4 then ? tab(8);:gosub 200:? " ":gosub 700:? tab(8);"Sie haben M";c%(4)
  142. 1221  if t%<4 then gosub 20000:z%=t%:gosub 4080:z%=l%(t%):if z%=40 then ? " ist in Feld" else ? " ist in Feld"
  143. 1222  if t%<4 then gosub 299:? tab(8);:gosub 200:gosub 700:? tab(8);:gosub 4088:? " hat M";c%(t%)
  144. 1223  goto 1000
  145. 1300  REM **** WILL COMPUTER BUY ****
  146. 1301  x%=0:FOR v%=1 TO 4:x%=x%+35*h%(v%)+200*h1%(v%):NEXT v%:x%=x%-(h1%(t%)*200+h%(t%)*35):IF MID$(b$,2,2)<>"23" THEN 1314
  147. 1311  IF t%=3 AND RND>.5 THEN PRINT  TAB(8);"Versorgungswerke sind ":PRINT  TAB(8);"nutzlos. Kein Kauf !!":GOSUB 1350:GOTO 1200
  148. 1312  IF c%(t%)< x%+100+50+t%*100 THEN GOSUB 1350:GOTO 1200
  149. 1313  GOSUB 2800:GOTO 1200
  150. 1314  IF MID$(b$,2,1)<>"4" THEN 1320
  151. 1315  IF t%=2 AND RND>.5 THEN PRINT  TAB(8);"Eisenbahnfahren ist":PRINT  TAB(8);"langweilig,sagt Betty.":GOSUB 1350:GOTO 1200
  152. 1316  y%=0:FOR v%=1 TO d%(t%)+1:IF INT(p#(t%,v%)/10^7)=10*INT(p#(t%,v%)/10^7)+4 THEN y%=y%+1
  153. 1317  NEXT v%:IF c%(t%)<500-100*y% THEN GOSUB 1350:GOTO 1200
  154. 1318  GOSUB 2800:GOTO 1200
  155. 1320  IF c%(t%)>x%+20*fininfo%(8*VAL(MID$(b$,6,2)))+10*3*t% THEN GOSUB 2800:GOTO 1200
  156. 1322  IF d%(t%)=0 THEN GOSUB 1350:GOTO 1200
  157. 1324  y%=0:FOR v%=1 TO d%(t%):c$=STR$(p#(t%,v%)):IF MID$(c$,2,2)=MID$(b$,2,2) THEN y%=y%+1
  158. 1326  NEXT v%:IF y%<>VAL(MID$(b$,2,1))-1 THEN GOSUB 1350:GOTO 1200
  159. 1330  IF c%(t%)=20*fininfo%(8*VAL(MID$(b$,6,2))) THEN GOSUB 2800:GOTO 1200
  160. 1336  IF d%(t%)=0 THEN GOSUB 1350:GOTO 1200
  161. 1340  x%=0:y%=0:FOR v%=1 TO d%(t%):c$=STR$(p#(t%,v%)):IF MID$(c$,8,1)="1" THEN x%=x%+10*fininfo%(8*VAL(MID$(c$,6,2)))
  162. 1342  NEXT v%:IF c%(t%)+x%<20*fininfo%(8*VAL(MID$(b$,6,2))) THEN GOSUB 1350:GOTO 1200
  163. 1344  IF c%(t%)>20*fininfo%(8*VAL(MID$(b$,6,2))) THEN GOSUB 2800:GOTO 1200
  164. 1345  GOSUB 2700:GOTO 1344
  165. 1350  REM **** REFUSE BUY ****
  166. 1351  ?:?:PRINT  TAB(8);:GOSUB 4080:PRINT  " kauft ";:IF t%=2 THEN PRINT  "nicht !";:GOTO 1353
  167. 1352  PRINT  "nicht !";
  168. 1353  PRINT  "      ":RETURN
  169. 1400  REM **** DEVELOP HOUSES & HOTELS ****
  170. 1402  IF d%(t%)=0 THEN goto 1600
  171. 1404  z%=0:FOR v%=1 TO 4:z%=z%+35*h%(v%)+180*h1%(v%):NEXT v%:z%=z%+20-(h%(t%)*35+h1%(t%)*180):a%=1
  172. 1410  c$=STR$(p#(t%,a%)):IF MID$(c$,2,1)="4" OR MID$(c$,2,2)="23" THEN 1414
  173. 1411  IF VAL(MID$(c$,8,1))>1 AND VAL(MID$(c$,8,1))<7 THEN GOSUB 1485:ON y% GOTO 1428,1414
  174. 1414  a%=a%+1:IF a%>d%(t%) THEN gosub 2780:goto 1600
  175. 1416  GOTO 1410
  176. 1428  u%=VAL(MID$(c$,8,1))
  177. 1430  FOR w%=a% TO a%+VAL(MID$(c$,2,1))-1:b$=STR$(p#(t%,w%)):IF VAL(MID$(b$,8,1))>u% THEN 1436
  178. 1432  NEXT w%
  179. 1436  w%=w%-1:b$=STR$(p#(t%,w%)):y%=50*(1+INT(VAL(MID$(b$,4,2))/10))
  180. 1440  IF t%=4 AND c%(t%)<y% THEN GOSUB 2780:GOSUB 20000:PRINT  "Sie benoetigen noch":PRINT  TAB(8);"M";y%-c%(t%);" zum Bauen !":sleep(500000):gosub 2780:goto 1600
  181. 1442  IF t%=4 THEN 1460
  182. 1443  IF c%(t%)<y%+z% AND l%(t%)=40 THEN gosub 2780:goto 1600
  183. 1444  IF c%(t%)<y%+z% THEN GOSUB 2780:goto 1600
  184. 1446  c%(t%)=c%(t%)-y%:p#(t%,w%)=p#(t%,w%)+1:GOSUB 20000:PRINT  "Bar  M";c%(t%):? tab(8);"fuer Haeuser+Hotelkauf!"
  185. 1447  PRINT  TAB(8);:GOSUB 4080:PRINT  " kauft ein ":? tab(8);:GOSUB 1478:PRINT  "M";y%;
  186. 1448  IF MID$(b$,8,1)="6" THEN h1%(t%)=h1%(t%)+1:h%(t%)=h%(t%)-4:pena 2:PRINT "Hotel":pena maincolor%:GOTO 1452
  187. 1450  h%(t%)=h%(t%)+1:PRINT  "Haus.  Wo?->"
  188. 1452  PRINT  TAB(8);"   ";:GOSUB 200:PRINT  " ":IF MID$(b$,8,1)="6" THEN GOSUB 60:xx%=val(mid$(b$,4,2)):GOSUB 25000:GOSUB 20000:GOTO 1410
  189. 1459  xx%=val(mid$(b$,4,2)):GOSUB 25000:GOSUB 40:GOTO 1410
  190. 1460  gosub 20000:? "Sie haben M";c%(t%):PRINT tab(8);"Wollen Sie ein ";:IF MID$(b$,8,1)="6" THEN PRINT  "Hotel?":GOTO 1462
  191. 1461  PRINT :PRINT  TAB(8);:GOSUB 1478:PRINT  "Haus auf Feld"
  192. 1462  PRINT  TAB(8);:GOSUB 200:?:PRINT tab(8); "fuer M";y%;"bauen ?":GOSUB 1700
  193. 1463  IF x$="N" THEN GOSUB 20000:PRINT  "OK...":a%=a%+(VAL(MID$(c$,2,1))-VAL(MID$(c$,1,1))):GOTO 1414
  194. 1467  c%(t%)=c%(t%)-y%:p#(t%,w%)=p#(t%,w%)+1:c$=STR$(p#(t%,w%))
  195. 1468  IF MID$(c$,8,1)<"7" THEN h%(t%)=h%(t%)+1:GOSUB 40:GOSUB 20000:PRINT  "OK. Sie haben   M";c%(t%):GOTO 1471
  196. 1469  GOSUB 60:GOSUB 20000:PRINT  "OK.., MONOPOLY-SPIELER.":PRINT  TAB(8);"Sie haben M";c%(t%):PRINT  TAB(8);"und 1 Hotel auf Feld":PRINT  TAB(8);:GOSUB 200:PRINT  "!"
  197. 1470  GOSUB 27000:h%(t%)=h%(t%)-4:h1%(t%)=h1%(t%)+1:gosub 2780:gosub 2780:GOTO 1410
  198. 1471  IF  MID$(c$,8,1)="3" THEN PRINT  TAB(8);"und 1 Haus auf Feld":PRINT  TAB(8);:GOSUB 200:PRINT ".":GOSUB 27000:gosub 2780:gosub 2780:GOTO 1410
  199. 1472  PRINT  TAB(8);"und ";VAL(MID$(c$,8,1))-2;" Haeuser auf Feld":PRINT  TAB(8);:GOSUB 200:PRINT " ":GOSUB 27000:gosub 2780:gosub 2780:GOTO 1410
  200. 1478  IF MID$(b$,8,1)="6" THEN RETURN
  201. 1480  pena 2:ON VAL(MID$(b$,8,1))-1 GOTO 1481,1482,1483,1484
  202. 1481  PRINT  " ";:pena maincolor%:RETURN
  203. 1482  PRINT  "2tes ";:pena maincolor%:RETURN
  204. 1483  PRINT  "3tes ";:pena maincolor%:RETURN
  205. 1484  PRINT  "4tes ";:pena maincolor%:RETURN
  206. 1485  y%=1:w%=1
  207. 1486  d$=STR$(p#(t%,w%)):IF MID$(d$,2,2)=MID$(c$,2,2) AND MID$(d$,8,1)="0" THEN y%=2
  208. 1487  w%=w%+1:IF w%<=d%(t%) THEN 1486
  209. 1490  return
  210. 1500  REM **** UNMORTGAGE PROPERTY ****
  211. 1501  IF d%(t%)=0 THEN RETURN
  212. 1504  w%=1
  213. 1505  c$=STR$(p#(t%,w%)):IF LEN(c$)>8 THEN 1520
  214. 1506  w%=w%+1:IF w%<=d%(t%) THEN 1505
  215. 1510  w%=1
  216. 1512  c$=STR$(p#(t%,w%)):IF VAL(MID$(c$,8,1))>2 AND VAL(MID$(c$,8,1))<7 AND t%<4 THEN RETURN
  217. 1515  w%=w%+1:IF w%<=d%(t%) THEN 1512
  218. 1516  w%=1
  219. 1517  c$=STR$(p#(t%,w%)):IF MID$(c$,8,1)="0" THEN 1520
  220. 1518  w%=w%+1:IF w%<=d%(t%) THEN 1517
  221. 1519  RETURN
  222. 1520  y%=11*fininfo%(8*VAL(MID$(c$,6,2))):IF t%=4 THEN 1550
  223. 1522  IF c%(t%)<y%+z%+50*t% THEN RETURN
  224. 1524  c%(t%)=c%(t%)-y%:b$=c$:GOSUB 20000:GOSUB 4080:PRINT  "zahlt M";y%;"Hypot.":PRINT
  225. 1525  PRINT  TAB(8);"inclusive M";INT((1/11)*y%);"Zinsen":PRINT :PRINT  TAB(8);"zurueck. Siehe Feld":PRINT
  226. 1526  ? TAB(8);"   ";:GOSUB 200:?:IF LEN(c$)>8 THEN p#(t%,w%)=VAL(MID$(c$,1,8))+2:tt%=t%:bb$=str$(p#(t%,w%)):GOSUB 19000:GOSUB 41000:GOSUB 20000:RETURN
  227. 1528  p#(t%,w%)=p#(t%,w%)+1:tt%=t%:bb$=str$(p#(t%,w%)):GOSUB 19000:GOSUB 41000:GOSUB 20000:GOTO 1504
  228. 1550  IF c%(t%)<y% THEN RETURN
  229. 1552  b$=c$:gosub 20000:? "Sie haben M";c%(t%):?:? tab(8); "Kaufen Sie die -» M";y%:?  TAB(8);"Hypothek zurueck  ??":PRINT  TAB(8);"   ";:GOSUB 200:PRINT  "?"
  230. 1553  gosub 1700
  231. 1556  IF x$="N" THEN GOSUB 20000:RETURN
  232. 1560  c%(t%)=c%(t%)-y%:IF LEN(STR$(p#(t%,w%))) >8 THEN p#(t%,w%)=p#(t%,w%)+1/2
  233. 1562  p#(t%,w%)=p#(t%,w%)+1:GOSUB 20000:? "Keine Hypothek mehr !!":? TAB(8);"Sie haben M";c%(t%):tt%=t%:bb$=str$(p#(t%,w%)):GOSUB 19000:gosub 2780:GOTO 1504
  234. 1600  rem **** SHOW STUFF ****
  235. 1610  if t%=4 then z%=l%(t%):gosub 299:gosub 20000:if z%=40 then ? "Sie sind im Feld" else ? "Sie sind in Feld"
  236. 1620  if t%=4 then ? tab(8);:gosub 200:? " ":gosub 700:? tab(8);"Sie haben M";c%(4)
  237. 1630  if t%<4 then gosub 20000:z%=t%:gosub 4080:z%=l%(t%):if z%=40 then ? " ist in Feld" else ? " ist in Feld"
  238. 1640  if t%<4 then gosub 299:? tab(8);:gosub 200:gosub 700:? tab(8);:gosub 4088:? " hat M";c%(t%)
  239. 1650  return
  240. 1700  REM **** YES - NO ROUTINE ****
  241. 1702  sshape(91,150;210,162), oldyesno%()
  242. 1704  gshape(91,150), yesno%()
  243. 1706  ask mouse xxx%,yyy%,b%:sleep(10000):if b%=0 then 1706
  244. 1708  yn%=pixel(xxx%,yyy%)
  245. 1710  if yn%=8 then x$="Y":goto 1720
  246. 1712  if yn%=19 then x$="N":goto 1720
  247. 1714  goto 1706
  248. 1720  gshape(91,150), oldyesno%()
  249. 1730  return
  250. 2400  REM **** CHECK CASH LEVELS ****
  251. 2401  IF c%(t%) >= 0 THEN RETURN
  252. 2402  IF d%(t%) = 0 THEN z%=0:GOTO 2500
  253. 2403  u%=1
  254. 2404  GOSUB 2700:IF c%(t%) > 0 THEN RETURN
  255. 2406  u%=u%+1:IF u%<=d%(t%)+h%(t%)+h1%(t%) THEN 2404
  256. 2407  z%=0
  257. 2500  REM **** GO BUST, TAKE PROPERTY ****
  258. 2501  IF t%=4 THEN GOSUB 20000:PRINT  " !! Sie sind pleite !!":gosub 41000:chdir "/":scnclr:PRINT  TAB(8);"Es kommt noch etwas !!":System
  259. 2510  IF j%(1)+j%(2)+j%(3) >= 100*20 THEN GOSUB 20000:PRINT  "  Sie haben gewonnen !!":gosub 41000:chdir "/":scnclr:PRINT  TAB(8);"Es kommt noch etwas !!":System
  260. 2515  GOSUB 2780:GOSUB 20000:PRINT :PRINT :PRINT  TAB(12);:GOSUB 4080:PRINT  " ist pleite !!!":GOSUB 100:GOSUB 2780:GOSUB 20000
  261. 2520  newxx%=41:gosub 31000:l%(t%)=41:IF z%=1 OR z%=2 OR z%=3 OR z%=4 THEN GOTO 2527
  262. 2522  j%(t%)=1000:c%(t%)=0:FOR v%=1 TO d%(t%)
  263. 2523  if z%<1 or z%>4 then c$=str$(p#(t%,v%)):b=val(mid$(c$,4,2)):gshape (owner%(b,0),owner%(b,1)-6),blank%()
  264. 2525  p#(t%,v%)=0:next v%:d%(t%)=0:d%=0:d3%=0:gosub 50:return
  265. 2527  IF d%(t%)>0 THEN GOTO 2530
  266. 2528  GOSUB 20000:GOSUB 4080:PRINT  "   M";c%(t%);" geht zu Feld":y%=t%:t%=z%:PRINT  TAB(8);:GOSUB 4080:t%=y%:PRINT  ".":c%(z%)=c%(z%)+c%(t%):GOSUB 2780:GOTO 2522
  267. 2530  FOR v%=d%(z%)+1 TO d%(z%)+d%(t%):p#(z%,v%)=p#(t%,v%-d%(z%)):GOSUB 18000:GOSUB 20000:GOSUB 2540
  268. 2531  NEXT v%:d%(z%)=v%-1
  269. 2532  GOSUB 2780:GOSUB 20000:IF z%=4 THEN PRINT  "Sie bek. ";:GOSUB 4080:PRINT  "'s Grund":GOTO 2534
  270. 2533  x%=t%:t%=z%:GOSUB 4080:PRINT  " bekommt  ":t%=x%:PRINT  TAB(8);:GOSUB 4080:PRINT  "'s Grundbesitz."
  271. 2534  IF c%(t%) > 0 THEN c%(z%)=c%(z%)+c%(t%):PRINT  TAB(8);"und  M";c%(t%);"in Bargeld."
  272. 2535  GOSUB 100:GOTO 2522
  273. 2540  x1%=0:b$=STR$(p#(z%,v%)):y%=2*fininfo%(8*VAL(MID$(b$,6,2))):PRINT "ANRECHTSCHEIN: fuer":c%(z%)=c%(z%)-y%
  274. 2541  PRINT  TAB(8);"M";y%;"auf Feld ":? tab(8);:GOSUB 200:PRINT  ".":PRINT :gosub 41000
  275. 2542  w%=1
  276. 2543  c$=STR$(p#(z%,w%)):IF MID$(c$,2,2)=MID$(b$,2,2) THEN x1%=x1%+1:IF STR$(x1%)=MID$(b$,2,1) THEN 2548
  277. 2544  w%=w%+1:IF w%<=v% THEN 2543
  278. 2545  RETURN
  279. 2548  w%=1
  280. 2549  c$=STR$(p#(z%,w%)):IF MID$(c$,2,2)<>MID$(b$,2,2) THEN 2560
  281. 2550  IF LEN(c$)=8 AND MID$(c$,8,1)="0" THEN p#(z%,w%)=p#(z%,w%)+1/2
  282. 2552  IF MID$(c$,8,1)="1" THEN p#(z%,w%)=p#(z%,w%)+1
  283. 2560  w%=w%+1:IF w%<=v% THEN 2549
  284. 2561  RETURN
  285. 2600  REM **** PAY RENT ****
  286. 2601  z%=VAL(MID$(c$,8,1)):x%=t%
  287. 2608  IF MID$(c$,2,1)="4" THEN 2650
  288. 2609  IF MID$(c$,2,2)="23" THEN 2670
  289. 2610  GOSUB 4080:PRINT  ": Mietzahlung an  ":t%=v%:PRINT TAB(8);:GOSUB 4080:PRINT  " M";
  290. 2612  IF z%>2 THEN 2620
  291. 2614  y%=fininfo%(8*VAL(MID$(b$,6,2))+z%-8):PRINT  y%
  292. 2616  IF z%=2 THEN PRINT  TAB(8);"(!! Doppelte Miete !!)"
  293. 2618  GOTO 2630
  294. 2620  y%=10*fininfo%(8*VAL(MID$(b$,6,2))+z%-8):PRINT  y%:PRINT  TAB(8);"(Miete fuer";:IF z%=7 THEN PRINT " HOTEL)":goto 2630
  295. 2622  PRINT  z%-2;:IF z%=3 THEN PRINT  " HAUS)":GOTO 2630
  296. 2624  PRINT  "HAEUSER)"
  297. 2630  t%=x%:IF c%(x%)<y% THEN 2640
  298. 2632  c%(t%)=c%(t%)-y%:c%(v%)=c%(v%)+y%:IF t%=4 THEN PRINT  TAB(8);"Hal zahlt M";y%:GOTO 1200
  299. 2635  PRINT  TAB(8);:GOSUB 4088:PRINT  "zahlt M";y%;".";:GOTO 1200
  300. 2640  z%=v%:IF d%(t%)=0 THEN GOSUB 2500:GOTO 1200
  301. 2642  FOR u%=1 TO d%(t%)+h%(t%)+h1%(t%):z%=v%:gosub 2780:GOSUB 2700:v%=z%:IF c%(t%)>=y% THEN u%=0:GOTO 2632
  302. 2644  NEXT u%:GOSUB 2500:GOTO 1200
  303. 2650  u%=0:FOR w%=1 TO d%(v%):c$=STR$(p#(v%,w%)):IF MID$(c$,2,1)="4" THEN u%=u%+1
  304. 2652  NEXT w%:IF u%=1 THEN y%=25:GOTO 2658
  305. 2654  y%=50*INT((u%*u%)/4)
  306. 2658  IF q%=82 THEN y%=y%*2
  307. 2660  PRINT  TAB(8);:GOSUB 4080:IF t%=4 THEN PRINT  " an ";
  308. 2661  IF t%<4 THEN PRINT  " an ";
  309. 2662  x%=t%:t%=v%:GOSUB 4080:PRINT  " M";y%;".":IF u%>1 THEN PRINT  TAB(8);"(Miete fuer";u%;"Bahnhoefe)"
  310. 2663  GOTO 2630
  311. 2670  u%=0:FOR w%=1 TO d%(v%):c$=STR$(p#(v%,w%)):IF MID$(c$,2,2)="23" THEN u%=u%+1
  312. 2671  NEXT w%:y%=v%:GOSUB 2780:v%=y%:IF q%=82 THEN u%=2
  313. 2672  PRINT tab(8); "Wuerfeln Sie -> Miete":GOSUB 10000:w%=d1%:z%=d2%
  314. 2674  PRINT  TAB(8);:GOSUB 4080:PRINT  " wuerfelt ";w%+z%:ON u% GOTO 2676,2678
  315. 2676  y%=4*(w%+z%):x%=t%:t%=v%:PRINT  TAB(8);"Zahl ";:GOSUB 4080:PRINT  " 4 ";:GOTO 2680
  316. 2678  y%=10*(w%+z%):PRINT  TAB(8);"MONOPOLABRECHNUNG":x%=t%:t%=v%:PRINT :PRINT  TAB(8);"Zahl ";:GOSUB 4080:PRINT  " 10 ";
  317. 2680  PRINT  "mal den":PRINT  TAB(8);"Betrag an Wuerfelaugen.":?:goto 2630
  318. 2700  REM ****  MORTGAGE PROPERTY ****
  319. 2705  IF d%(t%)=0 THEN RETURN
  320. 2709  v%=1
  321. 2710  c$=STR$(p#(t%,v%)):IF MID$(c$,2,1)<>"4" AND MID$(c$,8,1)="1" THEN 2722
  322. 2711  v%=v%+1:IF v%<=d%(t%) THEN 2710
  323. 2712  v%=1
  324. 2713  c$=STR$(p#(t%,v%)):IF MID$(c$,8,1)="1" THEN 2722
  325. 2714  v%=v%+1:IF v%<=d%(t%) THEN 2713
  326. 2716  FOR v%=1 TO d%(t%):c$=STR$(p#(t%,v%)):IF MID$(c$,8,1)="2" THEN w%=d%(t%)+1:GOTO 2718
  327. 2717  NEXT v%:GOTO 2730
  328. 2718  w%=w%-1:d$=STR$(p#(t%,w%)):IF MID$(d$,2,2)=MID$(c$,2,2) AND VAL(MID$(d$,8,1)) > 2 THEN 2730
  329. 2719  IF w%=1 THEN 2721
  330. 2720  GOTO 2718
  331. 2721  p#(t%,v%)=p#(t%,v%)-1/2
  332. 2722  p#(t%,v%)=p#(t%,v%)-1
  333. 2724  x%=10*fininfo%(8*VAL(MID$(c$,6,2)))
  334. 2725  c%(t%)=c%(t%)+x%:a$=b$:b$=c$:c$=a$
  335. 2726  gosub 2780:GOSUB 20000:GOSUB 4080:PRINT  " HYPOTHEK M";x%:PRINT  TAB(8);"auf ";:GOSUB 200:PRINT  "."
  336. 2728  b$=c$:PRINT :PRINT tab(8); "BAR-RESTG.  M";c%(t%):bb$=STR$(p#(t%,v%)):tt%=t%:GOSUB 19000:GOSUB 41000:gosub 20000:RETURN
  337. 2730  w%=8
  338. 2731  w%=w%-1:FOR v%=1 TO d%(t%):c$=STR$(p#(t%,v%)):IF MID$(c$,8,1)=STR$(w%) THEN 2750
  339. 2732  NEXT v%
  340. 2734  IF w%=3 THEN RETURN
  341. 2736  GOTO 2731
  342. 2750  p#(t%,v%)=p#(t%,v%)-1:x%=5*5*(1+INT(VAL(MID$(c$,4,2))/10)):IF w%=7 THEN h%(t%)=h%(t%)+4:h1%(t%)=h1%(t%)-1:GOTO 2760
  343. 2752  h%(t%)=h%(t%)-1
  344. 2760  b$=STR$(p#(t%,v%)):xx%=VAL(MID$(b$,4,2)):GOSUB 26000:c%(t%)=c%(t%)+x%:GOSUB 20000:GOSUB 4080:PRINT  " : Hypothek":IF w%=7 THEN PRINT  TAB(8);"auf das Hotel in Feld":GOTO 2762
  345. 2761  PRINT  TAB(8);"auf ";:GOSUB 2770:PRINT  " Haus in Feld"
  346. 2762  w%=x%:PRINT  TAB(8);"   ";:b$=c$:GOSUB 200:PRINT  TAB(8);"fuer M";w%:PRINT :PRINT  TAB (8);"BAR-REST.  M";c%(t%):GOSUB 41000:RETURN
  347. 2770  pena 2:IF w%=6 THEN PRINT  "4tes";
  348. 2771  IF w%=5 THEN PRINT  "3tes";
  349. 2772  IF w%=4 THEN PRINT  "2tes";
  350. 2773  IF w%=3 THEN PRINT  " ";
  351. 2774  pena maincolor%:RETURN
  352. 2780  REM **** DELAY ****
  353. 2785  rem gosub 1700
  354. 2786  rem RETURN
  355. 2790  SLEEP(1000000):RETURN
  356. 2800  REM **** BUY PROPERTY ****
  357. 2805  c%(t%)=c%(t%)-20*fininfo%(8*VAL(MID$(b$,6,2))):?:PRINT  TAB(8);:GOSUB 4080
  358. 2808  PRINT  " kauft  "
  359. 2813  PRINT  TAB(8);:GOSUB 200:PRINT  ".":IF t%=4 THEN PRINT  TAB(8);"Sie haben";:GOTO 2815
  360. 2814  PRINT  TAB(8);:GOSUB 4088:PRINT  " hat";
  361. 2815  PRINT  " M";c%(t%);"gut.";:d%(t%)=d%(t%)+1:p#(t%,d%(t%))=VAL(b$)-7:bb$=STR$(p#(t%,d%(t%))):tt%=t%:GOSUB 19000
  362. 2824  x%=0:FOR v%=1 TO d%(t%):a$=STR$(p#(t%,v%)):IF MID$(a$,2,2)=MID$(b$,2,2) THEN x%=x%+1
  363. 2826  NEXT v%:IF x%<>VAL(MID$(b$,2,1)) THEN GOSUB 50:RETURN
  364. 2830  FOR v%=1 TO d%(t%):a$=STR$(p#(t%,v%)):IF MID$(a$,2,2)=MID$(b$,2,2) AND MID$(a$,8,1)="1" THEN p#(t%,v%)=p#(t%,v%)+1
  365. 2831  IF MID$(a$,2,2)=MID$(b$,2,2) AND MID$(a$,8,1)="0" THEN p#(t%,v%)=p#(t%,v%)+1/2
  366. 2832  NEXT v%:GOSUB 50:RETURN
  367. 2900  REM **** JAIL ****
  368. 2905  j%(t%)=j%(t%)+1
  369. 2910  IF t%<4 THEN 2945
  370. 2913  IF j%(t%)<100 THEN 2920
  371. 2915  PRINT :PRINT  TAB(8);"Verwenden Sie Ihre  ":PRINT  TAB(8);"GEFAENGNIS-KARTE?":GOSUB 1700:IF x$="Y" THEN j%(t%)=0:newxx%=10:GOSUB 31000:l%(t%)=10:GOSUB 20000:GOTO 1219
  372. 2920  IF c%(t%)<50 THEN 2932
  373. 2922  PRINT  :PRINT  TAB(8);"Fuer Ihre Freiheit":PRINT  TAB(8);"zahlen Sie 50 M?":GOSUB 1700:IF x$="N" THEN 2932
  374. 2927  IF j%(t%)>100 THEN j%(t%)=100
  375. 2928  IF j%(t%)<100 THEN j%(t%)=0
  376. 2929  c%(t%)=c%(t%)-50:newxx%=10:GOSUB 31000:l%(t%)=10:GOSUB 100:GOTO 1219
  377. 2932  gosub 2780:GOSUB 20000:PRINT  "OK, wuerfle..":GOSUB 10000:IF d1%<>d2% THEN 2938
  378. 2934  PRINT :PRINT :PRINT  TAB(8);"PASCH!  Sie sind Frei!!":GOSUB 2780:IF j%(t%)<100 THEN j%(t%)=0
  379. 2935  IF j%(t%)>100 THEN j%(t%)=100
  380. 2936  newxx%=10:GOSUB 31000:l%(t%)=10:d%=1:GOSUB 100:GOTO 1100
  381. 2938  IF j%(t%)=3 OR j%(t%)=103 THEN 2980
  382. 2939  PRINT :PRINT :PRINT  TAB(8);"Sie bleiben hier !":GOTO 1210
  383. 2945  GOSUB 2780:z%=0:FOR v%=1 TO 4:z%=h1%(v%)+z%:NEXT v%:IF z%-h1%(t%)>6-t% THEN 2970
  384. 2947  FOR v%=1 TO 4:z%=h%(v%)+z%:NEXT v%:IF z%-(h1%(t%)+h%(t%))>10-t% THEN 2970
  385. 2948  IF d%(1)+d%(2)+d%(3)+d%(4)>27 THEN 2970
  386. 2949  IF j%(t%)<100 THEN 2952
  387. 2950  GOSUB 2780:j%(t%)=0:newxx%=10:GOSUB 31000:l%(t%)=10:GOSUB 20000:GOSUB 4080:PRINT  " kommt durch die":PRINT  TAB(8);"GEFAENGNISKARTE Frei !!"
  388. 2951  GOSUB 100:GOSUB 2780:GOTO 1000
  389. 2952  IF c%(t%)<150 THEN 2970
  390. 2954  c%(t%)=c%(t%)-50:newxx%=10:GOSUB 31000:l%(t%)=10:?:? tab(8);:GOSUB 4080:? " zahlt 50M und":?  TAB(8);"ist somit FREI !":?:?  TAB(8);:GOSUB 4088
  391. 2955  PRINT  " hat M";c%(t%):GOSUB 100
  392. 2956  GOSUB 2780:j%(t%)=0:GOTO 1000
  393. 2970  GOSUB 10000:PRINT  :PRINT :PRINT  TAB(8);:GOSUB 4080:PRINT  "wuerfelt";d1%;" und ";d2%:PRINT  TAB(8);
  394. 2972  GOSUB 2780:IF d1%=d2% THEN PRINT  TAB(8);:GOSUB 4088:PRINT  " wuerfelt Pasch":GOSUB 2780:j%(t%)=0:newxx%=10:GOSUB 31000:l%(t%)=10:d%=1:GOTO 1100
  395. 2974  IF j%(t%)=103 THEN 2950
  396. 2976  IF j%(t%)=3 THEN 2980
  397. 2978  PRINT  TAB(8);:GOSUB 4088:PRINT  " bleibt inhaftiert !":GOTO 1210
  398. 2980  IF c%(t%)>50 THEN c%(t%)=c%(t%)-50:newxx%=10:GOSUB 31000:l%(t%)=10:j%(t%)=0:?:?:?:PRINT  TAB(8);"VETO! Zahle 50M » FREI!":GOTO 1100
  399. 2982  IF d%(t%)=0 THEN z%=0:GOSUB 2500:GOTO 1100
  400. 2984  FOR u%=1 TO d%(t%)+h%(t%)+h1%(t%):GOSUB 2700:IF c%(t%)>50 THEN 2980
  401. 2985  NEXT u%:z%=0:GOSUB 2500:GOTO 1100
  402. 3000  REM ****  DISPLAY INFO  ****
  403. 3002  gosub 20000:? "Gehen Sie mit der Maus":? tab(8);"auf ein Feld und":? tab(8);"druecken linke Maustaste"
  404. 3004  ask mouse xxx%,yyy%,b%:if b%=0 then 3004
  405. 3006  flag%=1:gosub 35000:if flag%=0 then ?:? tab(8);"Wo gehen Sie denn hin ?":gosub 2780:goto 3000
  406. 3008  x%=z%:gosub 20000:?:a$="":gosub 299:? at ((13-int((len(a$)/2)))*8,48);:gosub 200:?
  407. 3010  if mid$(b$,2,2)<>"23" then 3034
  408. 3031  ?:? tab(8);"WASSERw. oder ELEKTROw.":?:? tab(12);"ist kein MONOPOL!":? tab(14);"4x die Miete!"
  409. 3032  ?:? tab (8);"Beide Werke  =  MONOPOL!":? tab(13);"10x die Miete!!"
  410. 3033  ?:?:goto 3076
  411. 3034  if freepark%=1 then if mid$(b$,2,3)="502" then ?:?:? tab(8);"M";parkmoney%;"durch Steuern !":return
  412. 3035  if mid$(b$,2,2)="60" then return
  413. 3036  if mid$(b$,2,2)="70" then return
  414. 3037  if mid$(b$,2,2)="80" then return
  415. 3038  if mid$(b$,2,2)="50" then return
  416. 3040  if mid$(b$,2,2)="41" then 3080
  417. 3066  ?:? tab(8);"GRUND M";20*fininfo%(8*val(mid$(b$,6,2)))
  418. 3068  ? tab(8);"MIETE M";fininfo%(8*val(mid$(b$,6,2))+1-8):?
  419. 3070  ? tab(8);"mit  1 Haus     M";10*fininfo%(8*val(mid$(b$,6,2))+3-8)
  420. 3071  vv%=2
  421. 3072  ? tab(8);"mit ";vv%;"Haeuser  M";10*fininfo%(8*val(mid$(b$,6,2))+vv%+2-8):vv%=vv%+1:if vv%<5 then 3072
  422. 3074  ?:? tab(8);"mit  HOTEL      M";10*fininfo%(8*val(mid$(b$,6,2))-1)
  423. 3075  ? tab(8);"Haeuser kos.M";50 *(1+int(val(mid$(b$,4,2))/10));"Stck."
  424. 3076  ? tab(10);"Hypothekenwert  M";10*fininfo%(8*val(mid$(b$,6,2))):return
  425. 3080  ?:? tab(8);"MIETE . . . . . . 25 M":?
  426. 3081  vv%=2
  427. 3082  ? tab(8);"f.";vv%;"Bahnhoefe ==> M";50*int((vv%*vv%)/4):vv%=vv%+1:if vv%<5 then 3082
  428. 3084  ?:? tab(8);"Hypothekenwert  100 M":return
  429. 3100  REM  ****  PAY TAXES  ****
  430. 3101  IF MID$(b$,1,3)="160" THEN 3150
  431. 3102  IF c%(t%)>75 THEN c%(t%)=c%(t%)-75:PRINT :PRINT  TAB(8);"zahlt 75M Bargeld M";c%(t%):parkmoney%=parkmoney%+75:GOTO 1200
  432. 3110  v%=1
  433. 3111  GOSUB 2700:IF c%(t%)>75 THEN 3102
  434. 3113  v%=v%+1:IF v%<4 THEN 3111
  435. 3115  z%=0:GOSUB 2500:GOTO 1210
  436. 3150  r%=0:y%=c%(t%):IF d%(t%)=0 THEN 3152
  437. 3151  FOR v%=1 TO d%(t%):c$=STR$(p#(t%,v%)):y%=y%+20*fininfo%(8*VAL(MID$(c$,6,2))):NEXT v%
  438. 3152  s%=INT(y%/10):IF s%>200 THEN s%=200
  439. 3153  IF c%(t%)>s% THEN 3160
  440. 3154  r%=r%+1:IF r%>d%(t%)+h%(t%)+h1%(t%) THEN z%=0:GOSUB 2500:GOTO 1210
  441. 3156  GOSUB 2700:GOTO 3153
  442. 3160  PRINT  :PRINT  TAB(8);"Zahlt M";s%;" ":c%(t%)=c%(t%)-s%:PRINT tab(8); "Bargeld M";c%(t%):parkmoney%=parkmoney%+s%:GOTO 1200
  443. 4070  REM ****  PASS GO  ****
  444. 4071  c%(t%)=c%(t%)+200:IF t%=4 THEN PRINT "Ueber GO ziehe 200 M ein":GOTO 4074
  445. 4072  PRINT "Ue.GO.";:GOSUB 4080:PRINT " nimmt 200M"
  446. 4074  REM **** PASS GO SOUND ****
  447. 4075  ? tab(8);:RETURN
  448. 4079  REM ****  PLAYERNAMES & PRONOUNS  ****
  449. 4080  ON t% GOTO 4081,4082,4083,4084
  450. 4081  pena 8:PRINT  p1$;:pena maincolor%:RETURN
  451. 4082  pena 3:PRINT  p2$;:pena maincolor%:RETURN
  452. 4083  pena 23:PRINT  p3$;:pena maincolor%:RETURN
  453. 4084  pena 5:PRINT  "Hal";:pena maincolor%:RETURN
  454. 4085  pena 23:PRINT  "Er";:pena maincolor%:RETURN
  455. 4086  pena 3:PRINT  "Sie";:pena maincolor%:RETURN
  456. 4087  pena 8:PRINT  "Er";:pena maincolor%:RETURN
  457. 4088  ON t% GOTO 4087,4086,4085,4084
  458. 4220  REM ****  CHANCE & GEMEINSCHAFTSFELD****
  459. 4221  gosub 2780
  460. 4222  if mid$(b$,1,1)="2" then 4225
  461. 4223  dk1%=dk1%+1:if dk1%>14 then gosub 42000:dk1%=0
  462. 4224  GOSUB 22000:ON deck1%(dk1%)+1 GOTO 4350,4360,4370,4380,4390,4400,4410,4420,4430,4440,4450,4460,4470,4480,4490
  463. 4225  dk2%=dk2%+1:if dk2%>14 then gosub 43000:dk2%=0
  464. 4226  GOSUB 21000:ON deck2%(dk2%)+1 GOTO 4230,4240,4250,4260,4270,4280,4290,4300,4310,4320,4330,4340,4350,4360,4370
  465. 4230  pena 30:PRINT  :PRINT :PRINT TAB(8);" Gehe zur MUSEUMstrasse":pena maincolor%
  466. 4232  IF l%(t%) < 24 THEN newxx%=24:GOSUB 31000:l%(t%)=24:gosub 41000:GOSUB 20000:GOTO 1110
  467. 4234  GOSUB 4900:?:? tab(8);:GOSUB 4070:newxx%=24:GOSUB 31000:l%(t%)=24:gosub 41000:GOSUB 20000:GOTO 1110
  468. 4240  pena 30:?:PRINT :PRINT TAB(12); "Fahren Sie zum ":PRINT  TAB(14);"SUEDBAHNHOF !":pena maincolor%
  469. 4242  IF l%(t%) < 5 THEN newxx%=5:GOSUB 31000:l%(t%)=5:GOSUB 90:GOSUB 2780:GOSUB 20000:GOTO 1110
  470. 4244  GOSUB 4900:? tab(8);:GOSUB 4070:newxx%=5:GOSUB 31000:l%(t%)=5:GOSUB 90:GOSUB 2780:GOSUB 20000:GOTO 1110
  471. 4250  pena 30:PRINT :PRINT :PRINT  TAB(9);" Gehe 3 Felder zurueck!":pena maincolor%
  472. 4252  newxx%=l%(t%)-3:GOSUB 31000:l%(t%)=l%(t%)-3:gosub 2780:GOSUB 2780:GOSUB 20000:GOTO 1110
  473. 4260  pena 30:PRINT  :PRINT :PRINT TAB(8); " Gehe zur  HAFENstrasse":pena maincolor%
  474. 4262  IF l%(t%) < 11 THEN newxx%=11:GOSUB 31000:l%(t%)=11:gosub 41000:gosub 20000:GOTO 1110
  475. 4264  GOSUB 4900:?:? tab(8);:GOSUB 4070:newxx%=11:GOSUB 31000:l%(t%)=11:gosub 41000:GOSUB 20000:GOTO 1110
  476. 4270  pena 30:PRINT :PRINT  TAB(13);"Gehen Sie zum":PRINT  TAB(9);"naechsten WERK (E./W.)":PRINT  TAB(9);"(Zahle 10x die Miete!)":pena maincolor%
  477. 4272  q%=82:IF l%(t%)=22 THEN newxx%=28:GOSUB 31000:l%(t%)=28:GOSUB 41000:GOSUB 20000:GOTO 1110
  478. 4274  IF l%(t%)=36 THEN GOSUB 4900:?:? tab(8);:GOSUB 4070
  479. 4276  newxx%=12:GOSUB 31000:l%(t%)=12:GOSUB 41000:GOSUB 20000:GOTO 1110
  480. 4280  pena 30:?:PRINT :PRINT  TAB(12);"Gehen Sie direkt":PRINT  TAB(11);"zur SCHLOSS-ALLEE.":pena maincolor%
  481. 4282  newxx%=39:GOSUB 31000:l%(t%)=39:gosub 41000:GOSUB 20000:GOTO 1110
  482. 4290  pena 30:PRINT :PRINT TAB(12);"Sie haben heute":PRINT  TAB(11);"GEBURTSTAG ! Jeder":PRINT :PRINT  TAB(9);"Mitspieler bekommt 50M":pena maincolor%
  483. 4292  FOR v%=1 TO 4:c%(v%)=c%(v%)+50:NEXT v%
  484. 4294  c%(t%)=c%(t%)-200:z%=0:GOTO 1116
  485. 4300  pena 30:PRINT :PRINT  TAB(14);"Fahre zu dem":PRINT  TAB(11);"naechsten Bahnhof.":PRINT :PRINT  TAB(13);"(Doppel-Miete)":pena maincolor%
  486. 4302  q%=82:IF l%(t%)>35 THEN GOSUB 4900:?:? tab(8);:GOSUB 4070:newxx%=5:GOSUB 31000:l%(t%)=5:GOSUB 90:GOSUB 2780:GOSUB 20000:GOTO 1110
  487. 4304  FOR v%=5 TO 35 STEP 10:IF l%(t%) < v% THEN newxx%=v%:GOSUB 31000:l%(t%)=v%:v%=0:GOSUB 90:GOSUB 2780:GOSUB 20000:GOTO 1110
  488. 4306  NEXT v%:GOTO 1110
  489. 4310  pena 30:?:PRINT  TAB(12);"STRASSENTEERUNG":PRINT :PRINT  TAB(11);"Zahle je Haus 25 M":PRINT  TAB(12);"     je Hotel 100 M":pena maincolor%
  490. 4312  IF h%(t%)+h1%(t%)=0 THEN GOSUB 4900:PRINT  TAB(12);"(KEINE ZAHLUNG !)":GOTO 1116
  491. 4314  c%(t%)=c%(t%)-(25*h%(t%)+100*h1%(t%)):GOSUB 4900:PRINT  TAB (8);:GOSUB 4080:IF t%=4 THEN PRINT  "zahlt M";
  492. 4316  IF t%<4 THEN PRINT  "zahlt M";
  493. 4318  PRINT  25*h%(t%)+100*h1%(t%);" !":GOTO 1116
  494. 4320  pena 30:PRINT :PRINT :PRINT  TAB(15);"RADAR 15 M":pena maincolor%:parkmoney%=parkmoney%+15
  495. 4322  c%(t%)=c%(t%)-15:GOTO 1116
  496. 4330  pena 30:?:PRINT :PRINT  TAB(13);"VORZUGSAKTIEN":PRINT  TAB(10);"Dividende von 50 M":pena maincolor%
  497. 4332  c%(t%)=c%(t%)+50:GOTO 1116
  498. 4340  pena 30:PRINT :PRINT  TAB(13);"Sie haben im ":PRINT  TAB(11);"LOTTO gewonnen!!!":PRINT :PRINT  TAB(14);"Wert  150 M":pena maincolor%
  499. 4342  c%(t%)=c%(t%)+150:GOTO 1116
  500. 4350  pena 30:?:PRINT  TAB(10);"Gehe ins Gefaengnis!":PRINT  TAB(9);"DIREKT INS GEFAENGNIS!"
  501. 4352  PRINT :PRINT  TAB(9);"Gehe nicht zu Feld GO!":PRINT  TAB(9);"Ziehe nicht 200 M ein!":pena maincolor%
  502. 4354  newxx%=40:GOSUB 31000:l%(t%)=40:GOSUB 70:GOTO 1210
  503. 4360  pena 30:PRINT :PRINT :PRINT  TAB(8);"Gefaengis * FREI-KARTE *":pena maincolor%
  504. 4362  j%(t%)=100:GOTO 1116
  505. 4370  pena 30:PRINT :PRINT :PRINT  TAB(14);"Gehe zu GO!":pena maincolor%
  506. 4372  GOSUB 4900:?:? tab(8);:GOSUB 4070:newxx%=0:GOSUB 31000:l%(t%)=0:GOSUB 80:GOTO 1116
  507. 4380  pena 30:?:PRINT  TAB(15);"TELEFONBAU":PRINT  TAB(10);"  und ANTENNENBAU."
  508. 4382  PRINT :PRINT  TAB(11);"Zahle je Haus 40 M":PRINT  TAB(12);"     Je Hotel 115 M":pena maincolor%
  509. 4384  GOSUB 4900:IF h%(t%)+h1%(t%)=0 THEN PRINT  TAB(13);"(Keine Zahlung)":GOTO 1116
  510. 4386  c%(t%)=c%(t%)-(40*h%(t%)+115*h1%(t%)):PRINT  TAB (8);:GOSUB 4080:IF t%=4 THEN PRINT  "zahlt M";
  511. 4387  IF t%<4 THEN PRINT  "zahlt M";
  512. 4388  PRINT  40*h%(t%)+115*h1%(t%);" !":GOTO 1116
  513. 4390  pena 30:PRINT :PRINT :PRINT  TAB(10);"  Arztkosten  50 M":pena maincolor%
  514. 4392  c%(t%)=c%(t%)-50:GOTO 1116
  515. 4400  pena 30:PRINT :PRINT :PRINT  TAB(12);"Sie erben   100 M":pena maincolor%
  516. 4402  c%(t%)=c%(t%)+100:GOTO 1116
  517. 4410  pena 30:PRINT :PRINT  TAB(12);"Sie gewinnen eine":PRINT TAB(9);"Schoenheitskonkurrenz!"
  518. 4412  PRINT :PRINT  TAB(14);"Wert    10 M":pena maincolor%
  519. 4414  c%(t%)=c%(t%)+10:GOTO 1116
  520. 4420  pena 30:?:PRINT :PRINT  TAB(10);"Als Lagerverkaeufer":PRINT  TAB(11);"erhalten Sie 45 M":pena maincolor%
  521. 4422  c%(t%)=c%(t%)+45:GOTO 1116
  522. 4430  pena 30:?:?:PRINT  TAB(9);"Krankenhauskosten 100 M":pena maincolor%
  523. 4432  c%(t%)=c%(t%)-100:GOTO 1116
  524. 4440  pena 30:?:PRINT :PRINT  TAB(11);"Eink.Steuer-Rueckz.":PRINT :PRINT  TAB(14);"  WERT 20 M":pena maincolor%
  525. 4442  c%(t%)=c%(t%)+20:GOTO 1116
  526. 4450  pena 30:?:PRINT :PRINT  TAB(12);"  BANKIRRTUM.  ":PRINT  TAB(10);"Sie bekommen 200 M":pena maincolor%
  527. 4452  c%(t%)=c%(t%)+200:GOTO 1116
  528. 4460  pena 30:PRINT :PRINT :PRINT  TAB(11);"Autoreparatur 25 M":pena maincolor%
  529. 4462  c%(t%)=c%(t%)+25:GOTO 1116
  530. 4470  pena 30:?:PRINT :PRINT  TAB(9);"! Lebensversicherung !":PRINT :PRINT  TAB(14);"Wert    100 M":pena maincolor%
  531. 4472  c%(t%)=c%(t%)+100:GOTO 1116
  532. 4480  pena 30:?:PRINT :PRINT  TAB(12);"   Mietzins !!":PRINT :PRINT  TAB(14);"Wert    100 M":pena maincolor%
  533. 4482  c%(t%)=c%(t%)+100:GOTO 1116
  534. 4490  pena 30:PRINT :PRINT :PRINT  TAB(9);"  Schulkosten 150 M":pena maincolor%:parkmoney%=parkmoney%+150
  535. 4492  c%(t%)=c%(t%)-150:GOTO 1116
  536. 4900  jj%=1
  537. 4910  PRINT
  538. 4920  jj%=jj%+1:IF jj%<5 THEN 4910
  539. 4930  RETURN
  540. 5000  REM **** TRADE WITH COMPUTER ****
  541. 5002  t%=4:GOSUB 20000:PRINT "Mit wem moechten Sie":PRINT  TAB(8);"Kontakt aufnehmen ? "
  542. 5003  peno 1:pena 27:circle ((14*8)-3,(11*8)-3),3:paint ((14*8)-3,(11*8)-3),0:pena 8:? at(16*8,11*8);"= Andy"
  543. 5004  pena 28:circle ((14*8)-3,(13*8)-3),3:paint ((14*8)-3,(13*8)-3),0:pena 3:? at(16*8,13*8);"= Betty"
  544. 5005  pena 29:circle ((14*8)-3,(15*8)-3),3:paint ((14*8)-3,(15*8)-3),0:pena 23:? at(16*8,15*8);"= Chip"
  545. 5006  ask mouse xxx%,yyy%,b%:if b%=0 then 5006
  546. 5007  u%=pixel(xxx%,yyy%)-26
  547. 5008  if u%<1 or u%>3 then 5006
  548. 5009  IF j%(u%)>=1000 THEN y%=t%:t%=u%:GOSUB 20000:GOSUB 4080:PRINT  " ist aus dem Spiel!":GOSUB 41000:GOTO 400
  549. 5010  y%=t%:t%=u%:GOSUB 20000:PRINT  "        ";:GOSUB 4080:PRINT  " "
  550. 5011  IF d%(u%)=0 THEN PRINT :PRINT  TAB(8);"Ich haben noch keine":PRINT  TAB(8);"Tauschmoeglichkeit !!":GOSUB 41000:GOTO 400
  551. 5012  PRINT  TAB(8);"Habe  M";c%(u%)
  552. 5020  flag%=1:PRINT :PRINT  TAB(8);"An was von":PRINT  TAB(8);"meinem Eigentum":PRINT  TAB(8);"sind Sie interressiert ?"
  553. 5022  PRINT :PRINT  TAB(8);"Gehe mit der Maus dahin,":PRINT  TAB(8);"druecke linke Maustaste."
  554. 5024  ask MOUSE xxx%,yyy%,b%:IF b%=0 THEN 5024
  555. 5026  gosub 20000:GOSUB 35000:IF flag%=0 THEN PRINT :PRINT  TAB(8);"Wo gehen Sie denn hin ?":GOSUB 2780:GOSUB 20000:GOTO 5020
  556. 5028  FOR w%=1 TO d%(u%):b$=STR$(p#(u%,w%)):IF VAL(MID$(b$,4,2))=z% THEN 5035
  557. 5029  NEXT w%
  558. 5030  PRINT :PRINT  TAB(8);"Sorry! Habe ich nicht !":GOSUB 41000:GOSUB 20000:GOTO 5020
  559. 5035  z%=w%:b$=STR$(p#(t%,z%)):PRINT :PRINT  TAB(8);"Sie wollen Feld ":? tab(8);:GOSUB 200:PRINT  "!"
  560. 5050  t%=y%:IF d%(t%)=0 THEN PRINT :PRINT  TAB(8);"Sie haben noch keine":PRINT  TAB(8);"Tauschmoeglichkeit !!":GOSUB 41000:GOTO 400
  561. 5060  IF VAL(MID$(b$,8,1)) > 1 OR LEN(b$) > 8 THEN PRINT :PRINT  TAB(8);"Wohl IRRE im Kopf! haa":PRINT  TAB(8);"Ist nicht zu verkaufen!":GOSUB 41000:GOSUB 20000:GOTO 400
  562. 5110  y%=0:FOR v%=1 TO d%(t%):c$=STR$(p#(t%,v%)):IF MID$(c$,2,2)=MID$(b$,2,2) THEN y%=y%+1
  563. 5120  NEXT v%:IF VAL(MID$(b$,2,1))=y%+1 THEN PRINT  TAB(8);"Dadurch gebe ich Ihnen":PRINT  TAB(12);"ein MONOPOL !!":GOTO 5200
  564. 5122  FOR w%=1 TO 3:IF w%=u% THEN 5128
  565. 5123  IF d%(w%)=0 THEN 5128
  566. 5124  y%=0:FOR v%=1 TO d%(w%):c$=STR$(p#(w%,v%)):IF MID$(c$,2,2)=MID$(b$,2,2) THEN y%=y%+1
  567. 5126  NEXT v%:IF VAL(MID$(b$,2,1))=y%+1 THEN z%=t%:t%=w%:PRINT :t%=z%:GOTO 5200
  568. 5128  NEXT w%
  569. 5200  z%=1
  570. 5205  y%=0:c$=STR$(p#(t%,z%)):FOR w%=1 TO d%(u%):a$=STR$(p#(u%,w%)):IF MID$(a$,2,2)=MID$(c$,2,2) THEN y%=y%+1
  571. 5212  NEXT w%:IF VAL(MID$(c$,2,1))=y%+1 AND MID$(c$,2,2)<>"23" THEN s%=1:ON ERROR GOTO 0:GOTO 5218
  572. 5214  z%=z%+1:IF z%<=d%(t%) THEN 5205 ELSE GOTO 5230
  573. 5215  GOTO 5200
  574. 5218  IF MID$(c$,2,2)=MID$(b$,2,2) THEN 5214
  575. 5220  GOTO 5280
  576. 5230  r%=1
  577. 5231  IF d%(r%)=0 THEN 5240
  578. 5232  IF r%=u% THEN 5240
  579. 5234  z%=1
  580. 5235  y%=0:d$=STR$(p#(r%,z%)):FOR w%=1 TO d%(u%):a$=STR$(p#(u%,w%)):IF MID$(a$,2,2)=MID$(d$,2,2) THEN y%=y%+1
  581. 5236  NEXT w%:IF VAL(MID$(d$,2,1))=y%+1 AND MID$(d$,2,2)<>"23" THEN y%=0:GOTO 5250
  582. 5238  z%=z%+1:IF z%<=d%(r%) THEN 5235
  583. 5240  IF r%>3 THEN 5242
  584. 5241  r%=r%+1:IF r%<4 THEN 5231
  585. 5242  PRINT :PRINT  TAB(8);"Nicht boese sein ,":PRINT  TAB(8);"ich verkaufe nicht !!":GOSUB 41000:GOTO 400
  586. 5250  p%=1
  587. 5251  y%=0:c$=STR$(p#(t%,p%)):FOR q%=1 TO d%(r%):a$=STR$(p#(r%,q%)):IF MID$(a$,2,2)=MID$(c$,2,2) THEN y%=y%+1
  588. 5252  NEXT q%:IF VAL(MID$(c$,2,1))=y%+1 THEN s%=2:GOTO 5280
  589. 5254  p%=p%+1:IF p%<=d%(t%) THEN 5251 ELSE GOTO 5238
  590. 5280  PRINT :PRINT tab(8); "Geben Sie dafuer Feld":d$=b$:b$=c$:PRINT  TAB(8);:GOSUB 200:b$=d$:PRINT  "?";:n%=r%:GOSUB 1700:r%=n%
  591. 5284  IF x$="N" AND s%=1 THEN 5214
  592. 5285  IF x$="N" AND s%=2 THEN 5254
  593. 5288  GOSUB 20000:PRINT  "OK, machen":PRINT  TAB(8);"wir ein Geschaeft.":PRINT  TAB(8)
  594. 5300  d$=c$:y%=t%:t%=u%:GOSUB 6000:x%=z%:t%=y%:d$=b$:GOSUB 6000:y%=z%
  595. 5318  PRINT :PRINT  TAB(8);"Ich gebe Ihnen"
  596. 5320  z%=INT(y%-x%)/2:IF z%>0 THEN 5400
  597. 5322  z%=ABS(z%):IF z%>400 THEN z%=400+(z%-200)*6/10
  598. 5324  IF z%>c%(u%)*8/10 THEN z%=c%(u%)*8/10
  599. 5325  z%=100*INT(z%/100):IF z%>0 THEN PRINT TAB(8); "M";z%;"und Feld";
  600. 5326  ? tab(8);:GOSUB 200:PRINT :PRINT  TAB(8);"fuer ";:d$=b$:b$=c$:GOSUB 200:b$=d$:PRINT  " ":PRINT
  601. 5330  PRINT :PRINT  TAB(8);"Ist das ein Geschaeft ?":GOSUB 1700:IF x$="N" THEN PRINT :PRINT  TAB(8);"OK. Dann halt nicht.":GOSUB 41000:GOTO 400
  602. 5340  c%(u%)=c%(u%)-z%:c%(4)=c%(4)+z%:GOSUB 100:GOSUB 2780:GOSUB 20000
  603. 5345  REM ****  PROCESS ALL TRADES  ****
  604. 5350  y%=0:FOR v%=1 TO d%(u%):d$=STR$(p#(u%,v%)):IF d$=b$ THEN p#(u%,v%)=VAL(c$):tt%=u%:bb$=c$:GOSUB 19000:d$=c$
  605. 5351  IF MID$(d$,2,2)=MID$(c$,2,2) THEN y%=y%+1
  606. 5352  NEXT v%:x%=0:FOR v%=1 TO d%(t%):d$=STR$(p#(t%,v%)):IF d$=c$ THEN p#(t%,v%)=VAL(b$):tt%=t%:bb$=b$:GOSUB 19000:d$=b$
  607. 5353  IF MID$(d$,2,2)=MID$(b$,2,2) THEN x%=x%+1
  608. 5354  NEXT v%:IF y%<>VAL(MID$(c$,2,1)) THEN 5360
  609. 5355  FOR v%=1 TO d%(u%):d$=STR$(p#(u%,v%)):IF MID$(d$,2,2)<>MID$(c$,2,2) THEN 5359
  610. 5356  IF MID$(d$,8,1)="0" THEN p#(u%,v%)=p#(u%,v%)+1/2:GOTO 5359
  611. 5358  p#(u%,v%)=p#(u%,v%)+1
  612. 5359  NEXT v%
  613. 5360  IF x%<>VAL(MID$(b$,2,1)) THEN 5370
  614. 5362  v%=1
  615. 5363  d$=STR$(p#(t%,v%)):IF MID$(d$,2,2)<>MID$(b$,2,2) THEN 5369
  616. 5364  IF MID$(d$,8,1)="1" THEN p#(t%,v%)=p#(t%,v%)+1:GOTO 5369
  617. 5365  p#(t%,v%)=p#(t%,v%)+1/2
  618. 5369  v%=v%+1:IF v%<=d%(t%) THEN 5363
  619. 5370  GOSUB 50:IF t%<>4 THEN GOTO 1003
  620. 5372  GOTO 400
  621. 5400  z%=z%*2:IF z%>500 THEN z%=500+(z%-500)*2/3
  622. 5402  z%=100+100*INT(z%/100)
  623. 5403  IF z%>c%(t%) THEN GOSUB 2780:GOSUB 20000:PRINT  "Warte..":PRINT  TAB(8);"Sie haben M";z%-c%(t%);"zu wenig":gosub 2780:GOSUB 2780:GOTO 400
  624. 5404  PRINT  TAB(8);:GOSUB 200:?:PRINT tab(8); "fuer M";z%;" und":d$=b$:b$=c$:PRINT  TAB(8);:GOSUB 200:b$=d$:PRINT  " ":PRINT :PRINT
  625. 5410  PRINT  TAB(8);"Ist das ein Geschaeft ?";:GOSUB 1700
  626. 5415  IF x$="N" THEN s%=10:PRINT :PRINT  TAB(8);"Ich glauben ":PRINT  TAB(8);"Sie scherzen, hah?":gosub 2780:GOSUB 2780:GOTO 400
  627. 5418  c%(u%)=c%(u%)+z%:c%(4)=c%(4)-z%:GOSUB 100:GOSUB 20000:GOTO 5350
  628. 6000  REM ****  EVALUATE PROPERTIES FOR TRADING  ****
  629. 6001  IF MID$(d$,2,1)="4" THEN z%=400:RETURN
  630. 6004  IF MID$(d$,2,2)="23" THEN z%=0:RETURN
  631. 6005  z=0:FOR v%=1 TO 4:IF v%<>t% THEN z=z+35*h%(v%)+200*h1%(v%)
  632. 6006  NEXT v%:z=c%(t%)-z:z=z+120*h%(t%)+350*h1%(t%)
  633. 6008  z=(INT(z/(50+VAL(MID$(d$,4,1))*50)))/(VAL(MID$(d$,2,1))*5):IF z>1 THEN z=1
  634. 6009  IF z<2/10 THEN z=2/10
  635. 6010  z=z*VAL(MID$(d$,2,1))*10*fininfo%(8*VAL(MID$(d$,6,2))-3):z=z+20*VAL(MID$(d$,6,2)):IF d$=c$ AND s%=2 THEN z=0
  636. 6020  IF MID$(d$,8,1)="0" THEN z=z-11*fininfo%(8*VAL(MID$(d$,6,2)))
  637. 6025  IF z>1000 THEN z=1000
  638. 6030  z%=INT(z):RETURN
  639. 7000  GOTO 400
  640. 7900  REM ****  INITIALIZE VARIABLES & START PROGRAM  ****
  641. 7902  clr:chdir "monofiles/":SCREEN 0,5
  642. 7904  DIM regsave%(100),monopic%(10500):bload "monopoly_pic_dat",VARPTR(regsave%(0))
  643. 7906  z%=0:x%=0
  644. 7908  rgb x%,regsave%(z%),regsave%(z%+1),regsave%(z%+2):z%=z%+3
  645. 7909  x%=x%+1:IF x%<32 THEN 7908
  646. 7910  bload "monopoly_pic",VARPTR(monopic%(0))
  647. 7912  gshape (0,0),monopic%():ERASE monopic%
  648. 7914  DIM center%(4200),dice1%(200),dice2%(200),dice3%(200),dice4%(200),dice5%(200),dice6%(200),chest%(2600),chance%(2600)
  649. 7916  DIM player1%(60),player2%(60),player3%(60),player4%(60),train1%(170),train2%(170),train3%(170),train4%(170)
  650. 7918  DIM old1%(60),old2%(60),old3%(60),old4%(60),propname$(41),propdeed$(41),propcolor%(41),play1pos%(40,1)
  651. 7919  dim housepic%(300),hotelpic%(800),continue%(300),name$(200),blank%(60),deck1%(15),deck2%(15):dk1%=-1:dk2%=-1
  652. 7920  DIM play2pos%(41,1),play3pos%(41,1),play4pos%(41,1),hopos%(41,1),owner%(41,1),fininfo%(128)
  653. 7921  DIM lite1%(575),lite2%(575),lite3%(575),lite4%(575),lite5%(575),lite6%(575),lite7%(575),lite8%(575),yesno%(300),oldyesno%(300)
  654. 7922  DIM d%(4),c%(4),l%(4),j%(4),h%(4),h1%(4),p#(4,26),m%(7),sinewave%(11):restore 7923:for cx%=0 to 11:read sinewave%(cx%):next cx%
  655. 7923  data 100,90,60,100,90,60,-100,-90,-60,-100,-90,-60
  656. 7924  p1$="Andy":p2$="Betty":p3$="Chip":maincolor%=1
  657. 7926  bload "center_pic",VARPTR(center%(0))
  658. 7928  bload "dice1",VARPTR(dice1%(0)):bload "dice2",VARPTR(dice2%(0))
  659. 7930  bload "dice3",VARPTR(dice3%(0)):bload "dice4",VARPTR(dice4%(0))
  660. 7932  bload "dice5",VARPTR(dice5%(0)):bload "dice6",VARPTR(dice6%(0))
  661. 7934  bload "player1",VARPTR(player1%(0)):bload "player2",VARPTR(player2%(0))
  662. 7936  bload "player3",VARPTR(player3%(0)):bload "player4",VARPTR(player4%(0))
  663. 7938  bload "train1",VARPTR(train1%(0)):bload "train2",VARPTR(train2%(0))
  664. 7940  bload "train3",VARPTR(train3%(0)):bload "train4",VARPTR(train4%(0))
  665. 7942  bload "chest_pic",VARPTR(chest%(0)):bload "chance_pic",VARPTR(chance%(0))
  666. 7943  GOSUB 36000
  667. 7944  sshape (275,171;275+9,171+7),old1%()
  668. 7946  sshape (287,171;287+9,171+7),old2%()
  669. 7948  sshape (275,178;275+9,178+7),old3%()
  670. 7950  sshape (287,178;287+9,178+7),old4%()
  671. 7960  GOSUB 11000:GOSUB 12000:GOSUB 13000:GOSUB 14000:GOSUB 15000:GOSUB 16000:GOSUB 17000
  672. 7970  audio 15,1:wave 6,sinewave%
  673. 8100  REM **** BEGIN PLAY  ****
  674. 8102  gosub 42000:gosub 43000
  675. 8103  gosub 20000:? "   Wollen Sie im Feld":? tab(15);"FREI PARKEN":? tab(12);" Geld erhalten ?"
  676. 8104  freepark%=0:gosub 1700:if x$="Y" then freepark%=1
  677. 8108  FOR v%=1 TO 4:l%(v%)=0:c%(v%)=1500:d%(v%)=0:h%(v%)=0:h1%(v%)=0:j%(v%)=0
  678. 8109  FOR x%=1 TO 25:p#(v%,x%)=0:NEXT x%:NEXT v%:newxx%=0:FOR t%=1 TO 4:GOSUB 31000:NEXT t%
  679. 8110  GOSUB 20000:randomize -1:randomize -1:t%=INT((4*RND)+1):IF t%=4 THEN ?  "Hal  beginnt das Spiel.":?  TAB(8);"Sie haben 1500 M":gosub 2780:GOTO 1000
  680. 8112  GOSUB 4080:PRINT  " beginnt das Spiel.":PRINT  TAB(8);:GOSUB 4088:PRINT  " hat 1500 M":gosub 2780:gosub 2780:GOTO 1000
  681. 9000  RETURN
  682. 9999  REM ****  DRAW DICE & ROLL  **** 
  683. 10000 dy%=42
  684. 10010 j%=1
  685. 10020 if j% < 28 then d1%=INT((RND * 6)) +1:dx% = 192:ON d1% GOSUB 10100,10200,10300,10400,10500,10600
  686. 10030 SLEEP(60000):cx%=sound(1,1,3,40,int(rnd*700)+700):cx%=sound(2,1,3,40,int(rnd*1000)+1000):d2%=rnd:d2%=rnd
  687. 10040 d2%=INT((RND * 6) +1):dx% = 222:ON d2% GOSUB 10100,10200,10300,10400,10500,10600
  688. 10050 j%=j%+1:if j%<31 then 10020
  689. 10060 RETURN
  690. 10100 gshape (dx%,dy%),dice1%():RETURN
  691. 10200 gshape (dx%,dy%),dice2%():RETURN
  692. 10300 gshape (dx%,dy%),dice3%():RETURN
  693. 10400 gshape (dx%,dy%),dice4%():RETURN
  694. 10500 gshape (dx%,dy%),dice5%():RETURN
  695. 10600 gshape (dx%,dy%),dice6%():RETURN
  696. 11000 REM **** BUILD PROPNAME$ ****
  697. 11020 RESTORE 11100
  698. 11030 i%=0
  699. 11031 READ propname$(i%)
  700. 11032 i%=i%+1:IF i%<41 THEN 11031
  701. 11040 RETURN
  702. 11100 DATA GO,TURM-Strasse,Gemeinschaft,BAD-Strasse,Einkommen-Steuer,SUED-Bahnhof,ELISEN-Strasse
  703. 11110 DATA CHANCE,POST-Strasse,CHAUSSEE-Strasse,Nur zu Besuch !,HAFEN-Strasse,Elektro-Werk,SEE-Strasse
  704. 11120 DATA NEUE-Strasse,WEST-Bahnhof,BERLINER-Strasse,Gemeinschaft,Wiener-Strasse,RUPPERT-Strasse,Frei Parken
  705. 11130 DATA THEATHER-Strasse,CHANCE,OPERNPLATZ,MUSEUM-Strasse,NORD-Bahnhof,SCHILLER-Strasse,GOETHE-Strasse,Wasser-Werk
  706. 11140 DATA LESSING-Strasse,Gehe ins Gefaengnis!!,HAUPT-Strasse,BAHNHOF-Strasse,Gemeinschaft,RATHAUSPLATZ,OST-Bahnhof
  707. 11150 DATA CHANCE,PARK-Strasse,Luxus-Steuer,SCHLOSS-ALLEE,Im Gefaengnis
  708. 12000 REM **** BUILD PROPDEED$ ****
  709. 12010 RESTORE 12100
  710. 12020 i%=0
  711. 12021 READ propdeed$(i%)
  712. 12022 i%=i%+1:IF i%<41 THEN 12021
  713. 12030 RETURN
  714. 12100 DATA 15000008,12101018,17002008,22103028,16004008,14105088,13106038,27007008,23108038,33109048
  715. 12110 DATA 25010008,13211058,12312058,23213058,33214068,24115088,13316078,17017008,23318078,33319088
  716. 12120 DATA 35020008,13421098,27022008,23423098,33424108,34125088,13526118,23527118,22328058,33529128
  717. 12130 DATA 18030008,13631138,23632138,17033008,33634148,44135088,27036008,12237158,26038008,22239168,00040008
  718. 13000 REM **** BUILD PROPCOLOR% ****
  719. 13010 RESTORE 13100
  720. 13020 i%=0
  721. 13022 READ propcolor%(i%)
  722. 13024 i%=i%+1:IF i%<41 THEN 13022
  723. 13030 RETURN
  724. 13100 DATA 0,21,0,21,0,0,22,0,22,22,0,23,0,23,23,0,24,0,24,24,0,25,0,25,25,0,26,26,0,26,0,27,27,0,27,0,0,28,0,28,0
  725. 14000 REM **** BUILD PLAYPOS% ****
  726. 14020 FOR i%=0 TO 40:READ play1pos%(i%,0):READ play1pos%(i%,1):NEXT i%
  727. 14030 FOR i%=0 TO 40:READ play2pos%(i%,0):READ play2pos%(i%,1):NEXT i%
  728. 14040 FOR i%=0 TO 40:READ play3pos%(i%,0):READ play3pos%(i%,1):NEXT i%
  729. 14050 FOR i%=0 TO 40:READ play4pos%(i%,0):READ play4pos%(i%,1):NEXT i%
  730. 14060 RETURN
  731. 14100 DATA 275,171,241,171,216,171,191,171,166,171,141,171,116,171,91,171,66,171,40,171,5,163,5,146,5,131,5,116,5,101,5,86,5,71,5,56,5,41,5,26,5,3
  732. 14110 DATA 40,3,66,3,91,3,116,3,141,3,166,3,191,3,216,3,241,3,275,3,275,26,275,41,275,56,275,71,275,86,275,101,275,116,275,131,275,146,19,161
  733. 14200 DATA 287,171,253,171,228,171,203,171,178,171,153,171,128,171,103,171,78,171,52,171,5,172,17,146,17,131,17,116
  734. 14205 DATA 17,101,17,86,17,71,17,56,17,41,17,26,17,3
  735. 14210 DATA 52,3,78,3,103,3,128,3,153,3,178,3,203,3,228,3,253,3,287,3,287,26,287,41,287,56,287,71,287,86,287,101,287,116,287,131,287,146,28,161
  736. 14300 DATA 275,178,241,178,216,178,191,178,166,178,141,178,116,178,91,178,66,178,40,178,16,177,5,153,5,138,5,123,5,108,5,93,5,78,5,63,5,48,5,33,5,10
  737. 14310 DATA 40,10,66,10,91,10,116,10,141,10,166,10,191,10,216,10,241,10,275,10,275,33,275,48,275,63,275,78,275,93,275,108,275,123,275,138,275,153,19,168
  738. 14400 DATA 287,178,253,178,228,178,203,178,178,178,153,178,128,178,103,178,78,178,52,178,27,177,17,153,17,138,17,123,17,108,17,93,17,78,17,63,17,48,17,33,17,10
  739. 14410 DATA 52,10,78,10,103,10,128,10,153,10,178,10,203,10,228,10,253,10,287,10,287,33,287,48,287,63,287,78,287,93,287,108,287,123,287,138,287,153,28,168
  740. 15000 REM **** BUILD HOPOS% ****
  741. 15010 RESTORE 15100
  742. 15020 i%=0
  743. 15022 READ hopos%(i%,0):READ hopos%(i%,1)
  744. 15024 i%=i%+1:IF i%<41 THEN 15022
  745. 15030 RETURN
  746. 15100 DATA 0,0,248,168,0,0,198,168,0,0,0,0,123,168,0,0,73,168,47,168,0,0,30,156,0,0,30,126,30,111,0,0,30,81,0,0,30,51,30,36,0,0
  747. 15110 DATA 47,24,0,0,98,24,123,24,0,0,173,24,198,24,0,0,248,24,0,0,265,36,265,51,0,0,265,81,0,0,0,0,265,126,0,0,265,156,0,0
  748. 16000 REM **** BUILD OWNER% ****
  749. 16010 RESTORE 16100
  750. 16020 i%=0
  751. 16022 READ owner%(i%,0):READ owner%(i%,1)
  752. 16024 i%=i%+1:IF i%<41 THEN 16022
  753. 16030 RETURN
  754. 16100 DATA 0,0,248,159,0,0,198,159,0,0,148,159,123,159,0,0,73,159,47,159,0,0,39,156,39,141,39,126,39,111,39,96,39,81,0,0,39,51,39,36,0,0
  755. 16110 DATA 47,32,0,0,98,32,123,32,148,32,173,32,198,32,223,32,248,32,0,0,255,36,255,51,0,0,255,81,255,96,0,0,255,126,0,0,255,156,0,0
  756. 17000 REM **** BUILD FININFO ****
  757. 17010 RESTORE 17100
  758. 17020 i%=1
  759. 17022 READ fininfo%(i%)
  760. 17024 i%=i%+1:IF i%<129 THEN 17022
  761. 17030 RETURN
  762. 17100 DATA 2,4,1,3,9,16,25,3,4,8,2,6,18,32,45,3,6,12,3,9,27,40,55,5,8,16,4,10,30,45,60,6,10,20,5,15,45,63,75,7,12,24,6,18,50,70,90,8,14,28,7,20,55,75,95,9,16,32,8,22,60,80,100,10,18,36,9,25,70,88,105,11
  763. 17110 DATA 20,40,10,30,75,93,110,12,22,44,11,33,80,98,115,13,24,48,12,36,85,103,120,14,26,52,13,39,90,110,128,15,28,56,15,45,100,120,140,16,35,70,18,50,110,130,150,17,50,100,20,60,140,170,200,20
  764. 18000 REM **** DRAW OWNER ****
  765. 18001 drawmode 1
  766. 18010 IF z%=1 THEN x1$="A":x2$="a":pena 8
  767. 18020 IF z%=2 THEN x1$="B":x2$="b":pena 3
  768. 18030 IF z%=3 THEN x1$="C":x2$="c":pena 23
  769. 18040 IF z%=4 THEN x1$="H":x2$="h":pena 5
  770. 18050 b$=STR$(p#(z%,v%)):b=VAL(MID$(b$,4,2))
  771. 18060 PRINT at(owner%(b,0),owner%(b,1));" "
  772. 18070 IF VAL(MID$(b$,8,1))=0 THEN PRINT at(owner%(b,0),owner%(b,1));x2$ ELSE PRINT at(owner%(b,0),owner%(b,1));x1$
  773. 18080 drawmode 0:pena maincolor%:RETURN
  774. 19000 REM
  775. 19001 drawmode 1
  776. 19010 IF tt%=1 THEN x1$="A":x2$="a":pena 8
  777. 19020 IF tt%=2 THEN x1$="B":x2$="b":pena 3
  778. 19030 IF tt%=3 THEN x1$="C":x2$="c":pena 23
  779. 19040 IF tt%=4 THEN x1$="H":x2$="h":pena 5
  780. 19050 b=VAL(MID$(bb$,4,2))
  781. 19060 PRINT at(owner%(b,0),owner%(b,1));" "
  782. 19070 IF VAL(MID$(bb$,8,1))=0 THEN PRINT at(owner%(b,0),owner%(b,1));x2$ ELSE PRINT at(owner%(b,0),owner%(b,1));x1$
  783. 19080 drawmode 0:pena maincolor%:RETURN
  784. 20000 REM **** DRAW CENTER ****
  785. 20010 gshape (50,34),center%()
  786. 20020 drawmode 0:graphic 1:PRINT at(48,48);" ";
  787. 20030 RETURN
  788. 21000 REM **** DRAW CHANCE ****
  789. 21005 gosub 20000
  790. 21010 gshape (50,34),chance%()
  791. 21020 drawmode 0:graphic 1:PRINT at(48,55);" ";
  792. 21030 RETURN
  793. 22000 REM **** DRAW COMMUNITY ****
  794. 22005 gosub 20000
  795. 22010 gshape (50,34),chest%()
  796. 22020 drawmode 0:graphic 1:PRINT at(48,55);" ";
  797. 22030 RETURN
  798. 25000 REM **** DRAW HOTELS & HOUSES ****
  799. 25010 pena propcolor%(xx%):PAINT (hopos%(xx%,0)+2,hopos%(xx%,1)),0:ON VAL(MID$(b$,8,1))-1 GOTO 25020,25030,25040,25050,25060
  800. 25020 pena 20:PRINT at(hopos%(xx%,0),hopos%(xx%,1));"1":GOTO 25070
  801. 25030 pena 20:PRINT at(hopos%(xx%,0),hopos%(xx%,1));"2":GOTO 25070
  802. 25040 pena 20:PRINT at(hopos%(xx%,0),hopos%(xx%,1));"3":GOTO 25070
  803. 25050 pena 20:PRINT at(hopos%(xx%,0),hopos%(xx%,1));"4":GOTO 25070
  804. 25060 pena 2:PRINT at(hopos%(xx%,0),hopos%(xx%,1));"H"
  805. 25070 pena maincolor%:RETURN
  806. 26000 xx%=VAL(MID$(b$,4,2)):pena propcolor%(xx%):PAINT (hopos%(xx%,0)+2,hopos%(xx%,1)),0
  807. 26005 IF VAL(MID$(b$,8,1))-2 <= 0 GOTO 26070
  808. 26010 ON VAL(MID$(b$,8,1))-2 GOTO 25020,25030,25040,25050,25060
  809. 26070 pena maincolor%:RETURN
  810. 27000 xx%=val(mid$(c$,4,2)):pena propcolor%(xx%):paint (hopos%(xx%,0)+2,hopos%(xx%,1)),0
  811. 27010 if val(mid$(c$,8,1))-2 <= 0 goto 27030
  812. 27020 on val(mid$(c$,8,1))-2 goto 25020,25030,25040,25050,25060
  813. 27030 pena maincolor%:return
  814. 30000 REM **** MOVE PLAYERS ****
  815. 30005 xx%=l%(t%)
  816. 30010 i%=1
  817. 30015 SLEEP(200000)
  818. 30020 ON t% GOSUB 30200,30300,30400,30500
  819. 30025 cx%=sound(1,1,2,60,7000):cx%=sound(2,1,2,60,7000)
  820. 30030 i%=i%+1:IF i%<=d1%+d2% THEN 30015
  821. 30050 sleep(400000):RETURN
  822. 30200 gshape (play1pos%(xx%,0),play1pos%(xx%,1)),old1%()
  823. 30210 xx%=xx%+1:IF xx%>39 THEN xx%=xx%-40
  824. 30220 sshape (play1pos%(xx%,0),play1pos%(xx%,1);play1pos%(xx%,0)+9,play1pos%(xx%,1)+7),old1%()
  825. 30230 gshape (play1pos%(xx%,0),play1pos%(xx%,1)),player1%()
  826. 30240 RETURN
  827. 30300 gshape (play2pos%(xx%,0),play2pos%(xx%,1)),old2%()
  828. 30310 xx%=xx%+1:IF xx%>39 THEN xx%=xx%-40
  829. 30320 sshape (play2pos%(xx%,0),play2pos%(xx%,1);play2pos%(xx%,0)+9,play2pos%(xx%,1)+7),old2%()
  830. 30330 gshape (play2pos%(xx%,0),play2pos%(xx%,1)),player2%()
  831. 30340 RETURN
  832. 30400 gshape (play3pos%(xx%,0),play3pos%(xx%,1)),old3%()
  833. 30410 xx%=xx%+1:IF xx%>39 THEN xx%=xx%-40
  834. 30420 sshape (play3pos%(xx%,0),play3pos%(xx%,1);play3pos%(xx%,0)+9,play3pos%(xx%,1)+7),old3%()
  835. 30430 gshape (play3pos%(xx%,0),play3pos%(xx%,1)),player3%()
  836. 30440 RETURN
  837. 30500 gshape (play4pos%(xx%,0),play4pos%(xx%,1)),old4%()
  838. 30510 xx%=xx%+1:IF xx%>39 THEN xx%=xx%-40
  839. 30520 sshape (play4pos%(xx%,0),play4pos%(xx%,1);play4pos%(xx%,0)+9,play4pos%(xx%,1)+7),old4%()
  840. 30530 gshape (play4pos%(xx%,0),play4pos%(xx%,1)),player4%()
  841. 30540 RETURN
  842. 31000 xx%=l%(t%)
  843. 31020 ON t% GOSUB 31200,31300,31400,31500
  844. 31025 cx%=sound(1,1,2,60,7000):cx%=sound(2,1,2,60,7000)
  845. 31050 RETURN
  846. 31200 gshape (play1pos%(xx%,0),play1pos%(xx%,1)),old1%()
  847. 31210 xx%=newxx%
  848. 31215 if xx%=41 then return
  849. 31220 sshape (play1pos%(xx%,0),play1pos%(xx%,1);play1pos%(xx%,0)+9,play1pos%(xx%,1)+7),old1%()
  850. 31230 gshape (play1pos%(xx%,0),play1pos%(xx%,1)),player1%()
  851. 31240 RETURN
  852. 31300 gshape (play2pos%(xx%,0),play2pos%(xx%,1)),old2%()
  853. 31310 xx%=newxx%
  854. 31315 if xx%=41 then return
  855. 31320 sshape (play2pos%(xx%,0),play2pos%(xx%,1);play2pos%(xx%,0)+9,play2pos%(xx%,1)+7),old2%()
  856. 31330 gshape (play2pos%(xx%,0),play2pos%(xx%,1)),player2%()
  857. 31340 RETURN
  858. 31400 gshape (play3pos%(xx%,0),play3pos%(xx%,1)),old3%()
  859. 31410 xx%=newxx%
  860. 31415 if xx%=41 then return
  861. 31420 sshape (play3pos%(xx%,0),play3pos%(xx%,1);play3pos%(xx%,0)+9,play3pos%(xx%,1)+7),old3%()
  862. 31430 gshape (play3pos%(xx%,0),play3pos%(xx%,1)),player3%()
  863. 31440 RETURN
  864. 31500 gshape (play4pos%(xx%,0),play4pos%(xx%,1)),old4%()
  865. 31510 xx%=newxx%
  866. 31515 if xx%=41 then return
  867. 31520 sshape (play4pos%(xx%,0),play4pos%(xx%,1);play4pos%(xx%,0)+9,play4pos%(xx%,1)+7),old4%()
  868. 31530 gshape (play4pos%(xx%,0),play4pos%(xx%,1)),player4%()
  869. 31540 RETURN
  870. 35000 REM ****  CHECK MOUSE FOR PROPERTY TO TRADE FOR ****
  871. 35001 IF yyy% > 25 THEN 35070
  872. 35010 IF xxx% < 1 OR xxx% > 264 THEN flag%=0:RETURN
  873. 35020 z%=20
  874. 35030 FOR xx%=38 TO 263 STEP 25
  875. 35040 IF xxx% <= xx% THEN RETURN
  876. 35050 z%=z%+1
  877. 35060 NEXT xx%
  878. 35070 IF yyy% > 161 THEN 35200
  879. 35080 IF xxx% > 38 AND xxx% < 263 THEN flag%=0:RETURN
  880. 35090 IF xxx% > 263 THEN 35150
  881. 35100 z%=19
  882. 35110 FOR xx%=40 TO 160 STEP 15
  883. 35120 IF yyy% <= xx% THEN RETURN
  884. 35130 z%=z%-1
  885. 35140 NEXT xx%
  886. 35150 z%=31
  887. 35160 FOR xx%=40 TO 160 STEP 15
  888. 35170 IF yyy% <= xx% THEN RETURN
  889. 35180 z%=z%+1
  890. 35190 NEXT xx%
  891. 35200 IF xxx% < 37 OR xxx% > 264 THEN flag%=0:RETURN
  892. 35210 z%=9
  893. 35220 FOR xx%=63 TO 263 STEP 25
  894. 35230 IF xxx% <= xx% THEN RETURN
  895. 35240 z%=z%-1
  896. 35250 NEXT xx%
  897. 35260 flag%=0:RETURN
  898. 36000 bload "lite1",VARPTR(lite1%(0))
  899. 36010 bload "lite2",VARPTR(lite2%(0))
  900. 36020 bload "lite3",VARPTR(lite3%(0))
  901. 36030 bload "lite4",VARPTR(lite4%(0))
  902. 36040 bload "lite5",VARPTR(lite5%(0))
  903. 36050 bload "lite6",VARPTR(lite6%(0))
  904. 36060 bload "lite7",VARPTR(lite7%(0))
  905. 36070 bload "lite8",VARPTR(lite8%(0))
  906. 36072 bload "house_pic",VARPTR(housepic%(0))
  907. 36074 bload "hotel_pic",VARPTR(hotelpic%(0))
  908. 36075 bload "yesno_pic",VARPTR(yesno%(0))
  909. 36078 bload "cont_pic",VARPTR(continue%(0))
  910. 36079 bload "blank_pic",VARPTR(blank%(0))
  911. 36080 RETURN
  912. 36300 REM ****  POLICE LIGHT  ****
  913. 36309 jj%=0:ii%=1
  914. 36310 jj%=jj%+1:IF jj%>8 THEN jj%=1
  915. 36320 ON jj% GOTO 36330,36340,36350,36360,36370,36375,36380,36390
  916. 36330 gshape (126,106),lite1%():GOTO 36400
  917. 36340 gshape (126,106),lite2%():GOTO 36400
  918. 36350 gshape (126,106),lite3%():GOTO 36400
  919. 36360 gshape (126,106),lite4%():GOTO 36400
  920. 36370 gshape (126,106),lite5%():GOTO 36400
  921. 36375 gshape (126,106),lite6%():GOTO 36400
  922. 36380 gshape (126,106),lite7%():GOTO 36400
  923. 36390 gshape (126,106),lite8%()
  924. 36400 SLEEP(65000):ii%=ii%+1:if ii%<88 then 36310
  925. 36405 RETURN
  926. 40000 rem ****  SOUND FOR HOUSES & HOTELS  ****
  927. 40010 jj%=65
  928. 40020 cx%=sound(1,1,5,jj%,note1%):cx%=sound(2,1,5,jj%,note2%)
  929. 40030 jj%=jj%-2:if jj%>0 then 40020
  930. 40040 kk%=kk%-1:if kk%>0 then 40010
  931. 40050 return
  932. 41000 REM  ****  CONTINUE  ****
  933. 41010 sshape(91,150;210,162), oldyesno%()
  934. 41020 gshape(91,150), continue%()
  935. 41030 ask mouse xxx%,yyy%,b%:sleep(10000):if b%=0 then 41030
  936. 41040 yn%=pixel(xxx%,yyy%)
  937. 41050 if yn%=8 then gshape(91,150),oldyesno%():return
  938. 41060 goto 41030
  939. 42000 rem **** SHUFFLE CHEST ****
  940. 42010 j%=0
  941. 42015 deck1%(j%)=j%:j%=j%+1:if j%<15 then 42015
  942. 42020 j%=14
  943. 42025 k%=int(rnd*(j%+1))
  944. 42030 temp%=deck1%(j%):deck1%(j%)=deck1%(k%):deck1%(k%)=temp%
  945. 42040 j%=j%-1:if j%>0 then 42025
  946. 42050 return
  947. 43000 rem **** SHUFFLE CHANCE ****
  948. 43010 j%=0
  949. 43015 deck2%(j%)=j%:j%=j%+1:if j%<15 then 43015
  950. 43020 j%=14
  951. 43025 k%=int(rnd*(j%+1))
  952. 43030 temp%=deck2%(j%):deck2%(j%)=deck2%(k%):deck2%(k%)=temp%
  953. 43040 j%=j%-1:if j%>0 then 43025
  954. 43050 return
  955. 47000 REM ****  FREE PARKING MONEY  ****
  956. 47005 if freepark%=0 then parkmoney%=0:goto 1116
  957. 47010 ?:?:? tab(8);:gosub 4088:if t%=4 then ? " bekommt M";parkmoney%:goto 47050
  958. 47020 ? " bekommt M";parkmoney%
  959. 47050 c%(t%)=c%(t%)+parkmoney%:parkmoney%=0:goto 1116
  960. 50000 RESUME NEXT
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.